c# - 将对象序列化为 XML

标签 c# asp.net xmlserializer

我在 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>

最佳答案

你可以用这个

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

关于c# - 将对象序列化为 XML,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16218957/

相关文章:

c# - VS 2015 将警告标记为错误

c# - ASP.net GridView - 使用数据源 - C#

javascript - 如何在 JavaScript 上调用特定动态按钮的 onclick 事件

c# - ASP.NET/IIS,web.config 中的 <customHeaders> 何时添加到页面?

c# - 使用 Dynamic 将 XML 反序列化为对象

c# - 根据 Msdn GridView.DataKeyNames 必须设置,如果我们想更新数据库

c# - 不将土耳其字符 Window 8 应用程序插入到 Sqlite

jquery - 实现类似 Facebook 的内容加载

c# - 在单个服务中同时使用 DataContractSerializer 和 XmlSerializer

c# - .NET XmlSerializer 和 C# 中的嵌套类