8
使用.Net進行XML序列化的另一個問題。文檔根目錄下的反序列化XML數組
我正在接收來自第三方的XML字符串,並且想要用最少的大驚小怪的方式將它解析爲.Net類。我不想使用xsd,因爲我的XML非常簡單,我不喜歡它吐出的詳細類。我已經掌握了反序列化的基礎知識,但我正在努力使用根級數組。
問題XML是如下:
<people>
<person>
<id>1234</id>
</person>
<person>
<id>4567</id>
</person>
</people>
如何映射在我的C#類人的屬性deserialise呢?
這是我想工作,但它沒有。
[Serializable()]
[XmlRootAttribute("people", Namespace = "", IsNullable = false)]
public class People
{
[XmlArrayItem(typeof(Person), ElementName = "person")]
public List<Person> Persons;
}
如果我裂傷的XML到:
<result>
<people>
<person>
<id>1234</id>
</person>
<person>
<id>4567</id>
</person>
</people>
</result>
然後它與下面的類定義,但感覺非常錯誤的。
[Serializable()]
[XmlRootAttribute("result", Namespace = "", IsNullable = false)]
public class People
{
[XmlArray(ElementName = "people")]
[XmlArrayItem(typeof(Person), ElementName = "person")]
public List<Person> Persons;
}
你不需要`[Serializable]`,順便說一句 - 它不被`XmlSerializer`使用 – 2011-01-29 13:10:18