我就需要反序列化,看起来像这样的XML文档的应用程序工作:序列化XML无节制阵列
<results>
<item ...>
</item>
<item ...>
</item>
<item ...>
</item>
...
</results>
所以我已经设置了一个对象模型是这样的:
[XmlRoot("results")]
public class Results
{
[XmlArray("item")]
[XmlArrayItem("item", typeof(Item))]
public List<Item> Items { get; set; }
}
public class Item
{
[XmlElement("name")]
public string Name { get; set; }
[XmlElement("description")]
public string Description { get; set; }
. . .
}
我已经尝试了许多变体,如何声明和注解Items集合,但是无论我从未在该集合中获取任何项目。 .NET中是否存在反序列化不包含在公共父元素中的数组的问题(即,本示例中可能包含的内容)?
我无法控制这个XML的格式,所以我必须让它按原样工作。我目前正在使用XDocument/XElement/XAttribute来手动读取和解析XML,但这很痛苦。任何想法为什么这不起作用?
在此先感谢。
感谢您的回复。我能够用这种方法正确地反序列化一切。十分优雅。 – lje