我使用的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