string'3/18/09 10:16 PM'不是有效的AllXsd值

显然,读者不喜欢从响应XML传入的这种格式。

想知道如果我可以重新格式化这个。 尝试使用以下代码与我的XmlReader转换为DateTime

 reader.ReadContentAsDateTime(); 

Xml读者通常期望以特定格式的date/时间; 你可以使用XmlConvert自己使用它:

 string s = XmlConvert.ToString(DateTime.Now); DateTime when = XmlConvert.ToDateTime(s); 

如果你正在使用其他的东西,你必须把它作为一个string读取,并使用DateTime.TryParseExact (或类似的)来指定实际的格式string:

 string s = reader.ReadContentAsString(); DateTime when = DateTime.ParseExact(s, "M/d/yy hh:mm tt", CultureInfo.InvariantCulture); 

如果您使用的是XmlSerializer ,您可以使用shim属性来进行转换 – 让我知道如果这是你在做什么…

根据XML 模式规范,date时间值应该是ISO8601格式,例如

 2009-03-13T22:16:00