将重复的名称XML子节点反序列化为C#对象

时间:2019-02-22 08:42:42

标签: c# xml serialization

我有一个XML结构,该结构本来应该是一个数组,但是却不是这种结构。这是XML的表示形式。

<rootElement>
    <foo>...</foo>
    <bar>...</bar>
    <bar>...</bar>
    <bar>...</bar>
</rootElement>

我似乎无法得到<bar>来变成数组。我有以下C#类可以尝试执行此操作。

[XmlRoot("rootElement")]
public class MyClass
{
    [XmlArrayItem("bar")]
    public List<MyItems> Items { get; set; }
}

虽然不起作用。我知道我可以使用XML文档解析XML,然后以这种方式将其转换为C#对象,但是我宁愿只使用C#类上的属性并使用XmlSerializer快速生成该对象。

我尝试在Items属性上使用各种属性,例如XmlElement和XmlArray,但是反序列化后我一直得到0个项目。是否可以使用XmlSerializer来完成此操作,或者除了使用XmlDocument之外,我别无选择?

0 个答案:

没有答案