XmlArray に属性を追加できないことはわかっていますが、これは本当に不便だと思います。Phone 用に別のクラスを作成できることはわかっていますが、Phone は Access に属します。さらに約 30 個のノードにアクセスしています。属性 hasTextField をデシリアライズするにはどうすればよいですか?
<Access>
<Phone hasTextField="true">
<Item description="Skype" />
<Item description="IP Phone" />
</Phone>
<Computer>
<Item description="PC" />
<Item description="Laptop" />
</Computer>
</Access>
[XmlRoot("Access")]
public class Access
{
public Access(){}
[XmlArray("Phone")]
[XmlArrayItem("Item")]
public AccessItem[] ItemList;
[XmlArray("Computer")]
[XmlArrayItem("Item")]
public AccessItem[] ItemList;
}