【发布时间】:2009-03-20 20:38:09
【问题描述】:
我可能搞砸了设计决策。我没有使用强类型的自定义对象集合,而是使用了通用列表。本质上,我所拥有的是:
public class AreaFields
{
[XmlArray("Items")]
[XmlArrayItem("Item")]
public List<Fields> Fields { set; get; }
[XmlAttribute]
int id { set; get; }
}
public class Fields
{
[XmlAttribute]
public string Name { set; get; }
}
在整个应用程序中,我使用了List<AreaFields> 现在,我需要将列表序列化为 XML。我希望得到的是:
<SomeXMLTag>
<AreaFields id='1000'>
<Items>
<Item Name="Test1" />
<Item Name="Test2" />
</Items>
</AreaFields>
<AreaFields id='1001'>
<Items>
<Item Name="Test1" />
<Item Name="Test2" />
</Items>
</AreaFields>
</SomeXMLTag>
由于我无法序列化列表(或者我可以吗?),我将不得不序列化列表中的每个项目。
Ex: List<AreaFields> list = new List<AreaFields>();
// more code to add to list
list[0].GetRawXML(); //A method i have to serialize
【问题讨论】: