2010-01-12 123 views
3

在C#xml可串行化类中如何实现?Xml序列化父元素具有其他元素的列表序列化

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

List<Item>导致两个类别属性继承由分类的XML串行化器被忽略。如果类别由List<Item>属性组成,则会在所有项目的周围添加父元素(例如,Category \ Items \ Item)。两者都是不可取的。 Xml必须看起来像上面的例子。

回答

3

试试这个:

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

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

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

测试,工作正常。

+0

就是这样。谢谢! – Rich 2010-01-12 15:53:29