ServiceStack.Text.XmlSerializer의 문제점은 무엇입니까? 그렇게 타사 XML을 역 직렬화하는xmlnode의 순서를 변경하면 ServiceStack.Text.XmlSerializer.DeserializeFromString 결과가 변경됩니다. 왜?
public class weatherdata : IReturn<WashService>
{
public Location location { get; set; }
}
public class Location
{
public string name { get; set; }
public string country { get; set; }
}
시도 :
나는 개체가
var data = ServiceStack.Text.XmlSerializer.DeserializeFromString<weatherdata>("<weatherdata><location><name>Moscow</name><country>RU</country></location></weatherdata>");
data.location.name = 모스크바. data.location.country가 NULL입니다. 그런
변경 XML :
var data = ServiceStack.Text.XmlSerializer.DeserializeFromString<weatherdata>("<weatherdata><location><country>RU</country><name>Moscow</name></location></weatherdata>");
하고
data.location.name == "Moscow".
data.location.country =="RU";
가 왜 이렇게 다른 결과 난 단지 순서를 변경
있는지?
실제로, DataContractSerializer는 알파벳 순서를 사용합니다. 클래스에서 지정하는 순서는 부적합합니다. –