13
我有一個簡單的對象圖,我想序列化,我一直無法找到解決這個問題的方法。那就是:如何讓XmlSerializer不序列化容器標籤?
[XmlRoot]
public partial class MyData
{
private List<MyDatum> itemsField;
public MyData()
{
this.anyAttrField = new List<System.Xml.XmlAttribute>();
this.itemsField = new List<MyDatum>();
}
[XmlElement(Type = typeof(MyDatum))]
public List<MyDatum> Items
{
get
{
return this.itemsField;
}
set
{
this.itemsField = value;
}
}
}
這將產生以下XML:
<MyData>
<Items>
<MyDatum/>
<MyDatum/>
...
</items>
</MyData>
我想刪除 「項」 集裝箱電子標籤,而不是產生這樣的:
<MyData>
<MyDatum/>
<MyDatum/>
...
</MyData>
我已經嘗試了各種解決方案,但似乎無法找到解決方案。
該文章是正確的;這將確實刪除包裝元素。 'Type = typeof(...)'是多餘的,但無害,順便說一句。 –
由於「Items」是「MyDatum」的集合,而不是單個對象「MyDatum」,因此語法是違反直覺的。我從來沒有想到這是我實驗中可能的解決方案。我想你可以說「如果不行,那就違揹你的直覺吧。」 –