首页 > 解决方案 > C# 将数组反序列化为根元素

问题描述

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

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

我尝试创建一个从集合中继承的类,例如...

public class Items : IEnumerable<Item>

但我无法让它工作。我收到一条错误消息,说<items>不是预期的。我什至不确定是否有可能做我想做的事情。

标签: c#xmldeserializationxmlserializer

解决方案


类的以下声明Items可以根据需要工作:

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

这样XmlRootAttribute做的伎俩,让XmlSerializer了解根元素。然后它期望根据Item类命名的项目的元素。


推荐阅读