将对象序列化为XML

时间:2013-04-25 15:34:12

标签: c# asp.net xmlserializer

我在C#setup中有一个类,它将自己序列化为XML,并且该类还有一个它序列化的对象列表。

[XmlRoot("Config")]
public class ConfigSerializer {

    [XmlArray("Nodes")]
    public List<Node> LstNodes { get; set; }  

}

这是Node的类声明。

[XmlRoot("N")]
public class Node {
  // has a few different properties
}

问题:当我将ConfigSerializer的一个实例序列化为XML时,它并不像我希望的那样对Node列表进行序列化。它看起来像这样......

<Config>
  <Nodes>
    <Node></Node>
  </Nodes>
</Config>

但我希望它看起来像这样(因为Node类的XmlRoot声明)...

<Config>
  <Nodes>
    <N></N>
  </Nodes>
</Config>

1 个答案:

答案 0 :(得分:4)

您可以使用此

    [XmlRoot("Config")]
    public class ConfigSerializer
    {
        [XmlArray("Nodes"),XmlArrayItem("N")]
        public List<Node> LstNodes { get; set; }
    }