Tôi đang sử dụng XDocument để tạo ra một tập tin XML, như sau:Làm thế nào để tạo XElement ngày đại diện trong DateTime as type xs: Ngày
var d = DateTime.Now;
var xDocument = new XDocument(new XElement("ThisIsADate", d));
Tuy nhiên, XML kết quả đại diện cho ngày d sử dụng xs: định dạng ngày giờ (ví dụ: "2012-05-11T00: 00: 00"). Tức là, nó bao gồm thông tin thời gian.
Tuy nhiên, XML của tôi có nghĩa là khớp với Lược đồ XML của tôi, xác định phần tử này thuộc loại "xs: date". Do đó, tệp bị từ chối khi được xác thực đối với giản đồ, vì thông tin thêm thời gian.
Làm cách nào để khắc phục sự cố này? Tôi biết tôi chỉ có thể định dạng ngày mình bằng cách sử dụng ToString() với một định dạng, nhưng điều này không thể là "đúng" cách để làm điều đó, chắc chắn. Tôi không thể dự kiến sẽ biết cách định dạng một ngày làm ngày XML hợp lệ - đó là công việc của các phần liên quan đến XML của khung công tác.
Sửa: xin lưu ý rằng tôi làm biết làm thế nào để định dạng một ngày sử dụng ToString(), và tôi cũng biết định dạng chuỗi sẽ cho tôi kết quả đúng. Đó không phải là câu trả lời tôi đang tìm kiếm. Tôi đang tìm một hàm/phương thức/lớp để hiểu ngày xs: date (vv) là gì và nó hỗ trợ các kiểu mã hóa đó.
Để rõ ràng, tôi không muốn "hoàn thành", tôi đang tìm cách "làm đúng". Và tái phát minh ra bánh xe XML không phải là "làm đúng" trong cuốn sách của tôi.
Tôi tin rằng bạn sẽ cần phải chỉ định định dạng bằng cách sử dụng 'ToString()' khác chỉ chuyển đổi đối tượng bạn chuyển sang biến thể chuỗi của nó bằng '.ToString()', do đó bạn sẽ phải chuyển sang tùy chỉnh định dạng – V4Vendetta