我有这样的 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 是 Party Node 中的一个复杂类型。(这是从我正在为其创建适配器的第 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 和转换方法手动映射到我的类,但我想我会问是否有中间解决方案?