将自定义通用集合序列化为Xml时,如何向生成的集合元素添加属性

时间:2009-09-17 09:00:30

标签: generics serialization collections xml-serialization attributes

将自定义通用集合序列化为Xml时,如何向生成的集合元素添加属性。

目前我有:

<RootObject>
  <Id>1</Id>
  <Items>
    <MyCollectionItem/>
    <MyCollectionItem/>
  </Items>
</RootObject>

我需要的是:

<RootObject>
  <Id>1</Id>
  <Items Name="My collection name">
    <MyCollectionItem/>
    <MyCollectionItem/>
  </Items>
</RootObject>

我的代码如下所示:

public class RootObject
{
    [XmlArray()]
    public MyCollection Items;

    public string Id;
}

public class MyCollection : Collection<MyCollectionItem>
{
    [XmlAttribute()]
    public string Name;
}

1 个答案:

答案 0 :(得分:0)

除非您在集合类上实现IXmlSerializable并实现自己的序列化,否则使用XML序列化是不可能的。