我使用的XDocument創建一個XML文件,內容如下:如何創建日期時間的XElement代表日期,類型爲xs:日期
var d = DateTime.Now;
var xDocument = new XDocument(new XElement("ThisIsADate", d));
然而,使用XS生成的XML表示日期d:日期時間格式(例如「2012-05-11T00:00:00」)。也就是說,它包含時間信息。
但是,我的XML旨在匹配我的XML Schema,它將元素定義爲「xs:date」類型。因此,由於有額外的時間信息,文件在針對模式進行驗證時被拒絕。
我該如何解決這個問題?我知道我可以使用ToString()格式來格式化日期,但這當然不是「正確」的方式。我不能期望知道如何將日期格式化爲有效的XML日期 - 這是框架中XML相關部分的工作。
編輯:請注意,我做知道如何格式化日期使用的ToString(),我也知道什麼格式字符串會給我正確的結果。這不是我正在尋找的答案。我正在尋找一個能夠理解xs:date(等)是什麼的函數/方法/類,並且支持這些類型的編碼。
要說清楚,我並不是想要「完成它」,我正在尋找「做對」。重新發明XML輪盤在我的書中並不是「正確的」。
我相信你會需要使用'的ToString()'否則它只是轉換你用'的ToString()傳遞給它的字符串變種對象指定的格式'所以你必須在自定義傳格式 – V4Vendetta 2012-07-17 12:03:54