【问题标题】:C# Deserialize Array as root elementC# 将数组反序列化为根元素
【发布时间】:2019-10-04 14:01:26
【问题描述】:

我有一个需要反序列化的 XML 文档,其中根元素是一个项目数组,例如

<Items>
  <Item></Item>
  <Item></Item>
</Items>

我尝试过创建一个类,该类继承自一个集合,例如...

public class Items : IEnumerable<Item>

但我无法让它工作。我收到一条错误消息,提示 &lt;items&gt; 不是预期的。我什至不确定是否可以做我想做的事情。

【问题讨论】:

    标签: c# xml deserialization xmlserializer


    【解决方案1】:

    Items 类的以下声明可按您的需要工作:

    [XmlRoot("Items")]
    public class Items : List<Item>
    {
    }
    

    XmlRootAttribute 成功了,让XmlSerializer 知道根元素。然后它需要根据 Item 类命名的项目的元素。

    【讨论】:

    • 完美!非常感谢。
    猜你喜欢
    • 2015-04-25
    • 1970-01-01
    • 1970-01-01
    • 2015-04-13
    • 2012-01-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-06-27
    相关资源
    最近更新 更多