Xml序列化 - 直接在Root - Xml - Element下渲染对象列表

时间:2014-06-11 07:59:03

标签: c# .net c#-4.0 xml-serialization

以下模型类serializes

    [XmlRoot]
    public class A
    {
        [XmlAttribute]
        public string Period { get; set; }

        public List<C> B { get; set; }

    }

<?xml version=1.0>
<A Period="Today">
 <B>
    <C>
    </C>
    <C>
    </C>
  </B>
</A>

现在,我不希望<B>(对象列表应直接列在XmlRoot下)

生成的XML看起来应该是,

<A Period="Today">
  <C>
  </C>
  <C>
  </C>
</A>

任何想法如何?

1 个答案:

答案 0 :(得分:2)

将列表设置为XML元素。这将强制仅渲染其元素:

[XmlRoot]
public class A
{
    [XmlAttribute]
    public string Period { get; set; }

    [XmlElement("C")]
    public List<C> B { get; set; }

}