我有这样的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>

其中,公民名称是参与方节点中的复杂类型。(这是从我正在为其创建适配器的第三方集成接收的XML)
我不感兴趣的是,在我的类中有一个子类型,我试图反序列化到我宁愿有。
public class Party
{
    public string  FirstName { get; set; }
    public string LastName {get;set;}

}

因此,我可以用类似xpath的东西来修饰属性,而不是将类定义作为xml表示的具体定义。
 [XmlElement("\CitizenName\CitizenNameForeName")]
 public string FirstName {get;set;}

从XML中挑选信息到包含我感兴趣的数据的类中?
从第三方收到的XML非常冗长,我只对特定方面感兴趣。一种选择是创建一个xmldocument并使用xpath和转换方法手动映射到我的类,但是我想我会问是否有中间解决方案?

最佳答案

一种选择是使用xslt转换将传入的xml解析为与类匹配的s格式。

09-11 19:21