【发布时间】:2013-01-02 14:10:49
【问题描述】:
我有这样的 Xml
<pda:Party>
...Snip....
<pda:CitizenName>
<pda:CitizenNameTitle>MR</pda:CitizenNameTitle>
<pda:CitizenNameForename>John</pda:CitizenNameForename>
<pda:CitizenNameSurname>Wayne</pda:CitizenNameSurname>
</pda:CitizenName>
.....Snip...
</pda:Party>
其中 Citizen Name 是派对节点中的复杂类型。 (这是从我正在为其创建适配器的第 3 方集成收到的 xml)
我对在我的班级中有一个子类型不感兴趣,我试图反序列化为我宁愿拥有的。
public class Party
{
public string FirstName { get; set; }
public string LastName {get;set;}
}
因此,与其将我的类定义作为 XML 所代表的具体定义,我可以用 XPath 之类的东西来装饰属性,例如。
[XmlElement("\CitizenName\CitizenNameForeName")]
public string FirstName {get;set;}
要从 xml 中挑选信息到包含我感兴趣的数据的类中?
从第 3 方收到的 xml 非常冗长,我只对特定方面感兴趣。一种选择是创建一个 XMLDocument 并使用 XPath 和转换方法手动映射到我的类,但我想我会问是否有中间解决方案?
【问题讨论】:
标签: c# xml serialization