如何获取.Net XML反序列化以保留DateTimeKind?

时间:2011-03-11 23:44:43

标签: c# .net datetime xml-deserialization

我有一个XML字符串,其日期如下:2001-01-01T03:40:00Z

注意它以Z结尾,表示UTC。

我这样反序列化:

using (StringReader stringReader = new StringReader(xmlString))
    using (XmlReader xmlReader = XmlReader.Create(stringReader))
        obj = (MyObject)sr.ReadObject(xmlReader);

但是当我转到结果对象中相应的DateTime字段时,Kind字段被设置为“Unspecified”而不是“Utc”,这应该是它。我该如何解决这个错误?

1 个答案:

答案 0 :(得分:2)

Kind字段没有setter,因此XmlSerializer将无法设置它。

许多人建议始终将时间序列化为UTC,然后在需要时调用ToLocalTime。

请参阅this