如何在.NET(数组)中序列化这个Xml

时间:2010-05-28 10:06:57

标签: .net xml-serialization

我需要看起来像这样的Xml

<foo>
  <bar ... />
  <bar ... />
</foo>

目前有以下类结构:

[XmlRoot("foo")]
public class Foo
{
  [XmlArrayItem("bar")]
  public List<Bar> myBars;
}

但是这给了我一个条形项包含在条形元素中的Xml。我应该如何定义我的自定义XmlAttributes,以便获得我需要的Xml结构?

2 个答案:

答案 0 :(得分:7)

昨天我必须解决类似问题,这对我来说是解决方案:

[XmlRoot("foo")]
public class Foo
{
    [XmlElement("bar")]
    public List<Bar> myBars;
}

答案 1 :(得分:3)

我使用的解决方案是:

[XmlRoot("foo")]
public class Foo : List<Bar>
{
}

[XmlType("bar")]
public class Bar
{
}

事实上,我将Foo定义为List<T>,因此它可以作为通用列表使用。该列表中的类型只需要定义XmlType属性。