C#을 사용하여 다양한 소스의 XML을 일반 유형의 객체로 deserialize하고 싶습니다. XML에는 동일한 스키마가 없습니다. 예를 들어 다음 xml에서 /thingContainer/thing/name
및 widget/@title
은 모두 myClass.DisplayName
으로 매핑됩니다.다른 스키마가있는 XML을 공유 유형으로 비 병렬화
Xml1 :
<thingContainer>
<thing>
<name>MyName</name>
</thing>
</thingContainer>
Xml2 : 내 XML의 소스에 따라 다를 수 있기 때문에
<widget title="myTitle" />
그래서, 나는, [XmlElement]
내 클래스를 표시 할 수 없습니다. 상속 또는 다른 소스에서 XML을 쉽게 deserialize 할 수있는 일부 도우미 클래스로 할 수있는 트릭이 있습니까? 클래스 필드를 xpath에 매핑하는 쉬운 방법이 있습니까?
물론 내가해야한다면 XML을 수동으로 deserialize하고 파싱 할 것이지만 그게 무슨 재미인가? 바로 마음에 봄