我正在尝试反序列化一个 XML 文档,它的一个节点可以这样表示:
<n1 zone="00000" id="0000" />
或这个 :
<n2 zone="00000" id="0000" />
或这个 :
<n3 zone="00000" id="0000" />
在我的文档中,我总是有一个“n1”节点或一个“n2”节点或一个“n3”节点。我想将所有这些片段反序列化为此类的一个实例:
[Serializable]
public class N
{
[XmlAttribute("zone")]
public string Zone { get; set; }
[XmlAttribute("id")]
public string Id { get; set; }
}
但我没能做到。文档建议使用 XmlChoiceIdentifier 属性来完成此操作,但也许我以错误的方式使用它。
任何的想法 ?
PS:我知道我可以创建三个类:N1、N2 和 N3,并将它们映射到我的不同类型的 XML 片段。但我更喜欢更清洁的解决方案。