【问题标题】:Xml Serialization - Render list of objects directly under Root - Xml - ElementXml 序列化 - 直接在 Root 下渲染对象列表 - Xml - Element
【发布时间】:2014-08-01 04:39:19
【问题描述】:

以下模型类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>

现在,我不想要那个&lt;B&gt;(对象列表应该直接列在XmlRoot下)

生成的 XML 应如下所示,

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

有什么想法吗?

【问题讨论】:

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


    【解决方案1】:

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

    [XmlRoot]
    public class A
    {
        [XmlAttribute]
        public string Period { get; set; }
    
        [XmlElement("C")]
        public List<C> B { get; set; }
    
    }
    

    【讨论】:

    • 这仍然给了我 B 节点下的 C 节点。我根本不想要 B 节点。
    • @nowhewhomustnotbenamed.,我第一次读错了你的问题。已更新。
    • 只是好奇:你能告诉我你是从哪里读到或知道的吗?任何进一步挖掘此信息的参考资料请..
    • @nowhewhomustnotbenamed.,我最近遇到了同样的问题,这就是我记得它的原因。我搜索了解决问题的问题:stackoverflow.com/questions/2006482/…。查看此处列出的属性:msdn.microsoft.com/en-us/library/…。下次可能会派上用场。 :)
    • 很高兴我能帮上忙。 :)
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-10-31
    • 1970-01-01
    • 1970-01-01
    • 2017-01-24
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多