2

次の日付の XML 文字列があります: 2001-01-01T03:40:00Z

UTC を示すために、Z で終わることに注意してください。

私は次のように逆シリアル化します:

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

しかし、結果のオブジェクトで対応する DateTime フィールドに移動すると、Kind フィールドは本来あるべき「Utc」ではなく「Unspecified」に設定されます。このバグを回避するにはどうすればよいですか?

4

1 に答える 1

2

フィールドにはKindセッターがないため、XmlSerializer はそれを設定できません。

多くの場合、常に時刻を UTC としてシリアル化し、必要に応じて ToLocalTime を呼び出すことをお勧めします。

これを参照してください。

于 2011-03-12T00:10:18.520 に答える