1

我在 C# 设置中有一个将自身序列化为 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 时,它不会像我期望的那样序列化 XML,因为它与节点列表有关。看起来像这样...

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

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

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

1 回答 1

4

你可以用这个

    [XmlRoot("Config")]
    public class ConfigSerializer
    {
        [XmlArray("Nodes"),XmlArrayItem("N")]
        public List<Node> LstNodes { get; set; }
    }
于 2013-04-25T15:47:16.073 回答