XML ドキュメントを逆シリアル化しようとしています。そのノードの 1 つを次のように表すことができます。
<n1 zone="00000" id="0000" />
またはこれ:
<n2 zone="00000" id="0000" />
またはこれ:
<n3 zone="00000" id="0000" />
私のドキュメントでは、常に 1 つの "n1" ノード、1 つの "n2" ノード、または 1 つの "n3" ノードを使用します。これらすべてのフラグメントをこのクラスのインスタンスにデシリアライズしたいと思います:
[Serializable]
public class N
{
[XmlAttribute("zone")]
public string Zone { get; set; }
[XmlAttribute("id")]
public string Id { get; set; }
}
しかし、私はそれをすることができませんでした。ドキュメントでは、これを実現するために XmlChoiceIdentifier 属性を使用することを提案していますが、間違った方法で使用した可能性があります。
何か案が ?
PS : N1、N2、および N3 の 3 つのクラスを作成し、それらをさまざまな種類の XML フラグメントにマップできることはわかっています。しかし、私はよりクリーンなソリューションを好みます。