一个List的Xml序列化,其中父元素具有其他元素

时间:2010-01-12 15:32:02

标签: c# .net xml-serialization

如何在C#xml可序列化类中实现?

<Category Attrib1="Value1" Attrib2="Value2">
  <Item>Item1</Item>
  <Item>Item2</Item>
  <Item>Item3</Item>
  <Item>Item4</Item>
</Category>

List<Item>继承类别会导致xml序列化程序忽略两个Category属性。如果Category由List<Item>属性组成,则在所有Item的周围添加父元素(例如Category \ Items \ Item)。两者都不可取。 Xml必须与上面的例子类似。

1 个答案:

答案 0 :(得分:3)

试试这个:

public class Category
{       
    [XmlAttribute]
    public string Attrib1 { get; set; }

    [XmlAttribute]
    public string Attrib2 { get; set; }     

    [XmlElement("Item")]
    public List<string> Items { get; set; }
}

经过测试并且工作正常。