【发布时间】:2014-10-25 06:52:14
【问题描述】:
我需要使用 XmlSerializer 反序列化此类结构。
<root>
<parameter1>
5
</parameter1>
<itemList>
<parameter2>5</parameter2>
<item>v</item>
<item>v2</item>
</itemList>
<itemList>
<parameter2>50</parameter2>
<item>v3</item>
<item>v4</item>
</itemList>
</root>
使用此代码:
[XmlRoot("root")]
public class Root
{
[XmlElement("parameter1")]
public List<ItemList> Parameter1{ get; set; }
[XmlElement("itemList")]
public List<ItemList> ItemLists{ get; set; }
}
public class ItemList
{
[XmlElement("parameter2")]
public List<ItemList> Parameter2{ get; set; }
[XmlElement("item")]
public List<Item> Items{ get; set; }
}
但它在每个级别上仅反序列化 1 个元素。 如果我使用这样的对象:
[XmlRoot("root")]
public class Root
{
[XmlElement("parameter1")]
public List<ItemList> Parameter1{ get; set; }
[XmlElement("itemList")]
public List<ItemList> ItemLists{ get; set; }
}
public class ItemList
{
[XmlElement("parameter2")]
public List<ItemList> Parameter2{ get; set; }
public List<Item> Items{ get; set; }
}
它反序列化所有 ItemList 对象,但 Item 列表为空。 有什么问题?
【问题讨论】:
标签: c# .net xml-serialization