我有以下课程:
[XmlElement]
public class Container
{
[XmlAttribute]
public string Name { get; set; }
//TODO: set xml serialization attribute.
public List<Item> Items { get; set; }
}
我应该在Itmes属性上使用什么属性,以便在给定以下XML的情况下将子元素反序列化到列表中:
<Container Name="Container1">
<Item>
<Item>
<Item>
</Container>
答案 0 :(得分:1)
使用CollectionDataContract
。您的Item
是容器内的集合,因此它们应该是Container的一部分而不是单独的列表属性。
[CollectionDataContract(Name = "Container", Namespace = "")]
public class Container : System.Collections.Generic.List<Item>
{
[XmlAttribute]
public string Name { get; set; }
}
[DataContract(Name = "Item", Namespace = "")]
public class Item
{
// Properties
}
答案 1 :(得分:1)
这是我需要的属性:
[XmlElement("Item")]