我就需要反序列化,看起來像這樣的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