序列化对象数组

时间:2010-11-17 10:14:52

标签: c# .net

[Serializable()]
public class A
{

        [XmlArrayAttribute("Item")]
        public  List<B> items;
}

[Serializable()]
[XmlType(TypeName = "Item")]
public class B
{

}

序列化之后,我发现我有类似

的东西
<Item>
   <Item> **** </Item>
   <Item> **** </Item>
    *****
</item>

但我只想要

 <Item> **** </Item>
 <Item> **** </Item>

如何获得它?

1 个答案:

答案 0 :(得分:5)

public class A
{
    [XmlElement("Item")]
    public List<B> items;
}

public class B
{

}

请注意,您不需要[Serializable]属性。它仅用于binary serialization并被XmlSerializer忽略,这是我怀疑您正在使用的内容,即使您的问题中已经明确说明了这一点。另外为了更好的封装,我建议你使用属性而不是字段。还有一句话:C#中的标准命名约定规定属性名称应以大写字母开头。