Сериализация объекта в XML

У меня есть класс в настройке С#, который сериализуется в 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>

Но я ожидал, что это будет выглядеть так (из-за объявления XmlRoot для класса Node)...

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

person Jagd    schedule 25.04.2013    source источник


Ответы (1)


Вы можете использовать это

    [XmlRoot("Config")]
    public class ConfigSerializer
    {
        [XmlArray("Nodes"),XmlArrayItem("N")]
        public List<Node> LstNodes { get; set; }
    }
person juliohuang    schedule 25.04.2013
comment
Атрибут XmlArray - это решение, +1 - person Amicable; 25.04.2013