2011-03-11 1 views
1

다음 날짜가있는 XML 문자열이 있습니다. 2001-01-01T03 : 40 : 00ZDateTimeKind를 보존하기 위해 .NET XML 비 직렬화를 얻으려면 어떻게해야합니까?

UTC를 나타 내기 위해 Z로 끝나는 점에 유의하십시오.

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

을하지만 결과 객체에 해당하는 날짜 시간 필드에 갈 때, 종류 필드는 오히려 그것이 있어야 무엇인가 "UTC"보다 "지정되지 않은"로 설정 :

나는과 같이 직렬화 . 이 버그를 해결하려면 어떻게해야합니까?

답변

2

Kind 필드에는 setter가 없으므로 XmlSerializer에서 설정할 수 없습니다.

많은 경우 항상 UTC로 시간을 serialize 한 다음 필요할 경우 ToLocalTime을 호출하는 것이 좋습니다.

this을 참조하십시오.

+0

이것은 우리가하는 방법이며, 꽤 잘 작동합니다. 데이터 자체는 항상 일반적인 상태로 유지되며 모든보기는 시스템이 설정된 모든 표준 시간대를 반영 할 수 있습니다. – drharris