如何使XmlSerializer不序列化列表容器标记?

我有一个简单的对象图,我想序列化,我还没有找到解决这个问题的方法。这是:

[XmlRoot]
公共部分类MyData
{
私有列表<MyDatum>项目字段;
公共MyData()
{
this.anyAttrField=new List<System.Xml.xmldattribute>();
this.itemsField=新列表<MyDatum>();
}
[XmlElement(类型=类型(MyDatum))]
公共列表<MyDatum>项目
{
收到
{
返回此.itemsField;
}
设置
{
this.itemsField=值;
}
}
}

这将生成以下XML:

<MyData>
<项目>
<MyDatum/>
<MyDatum/>
...
&lt/项目>
&lt/MyData>

我想删除“Items”容器标签以生成以下内容:

<MyData>
<MyDatum/>
<MyDatum/>
...
&lt/MyData>

我尝试过各种解决方案,但似乎找不到解决方案

[xmlement]属性中指定元素名称:

[XmlElement(“MyDatum”,Type=typeof(MyDatum))]
公开名单<MyDatum>项目{
// ...
}

根据MSDN上的这篇文章,这将删除序列化项周围的包装器元素

发表评论