[英]Read XML File in C# with same node name
我需要讀取一個具有相同名稱節點的XML文件。 無法解決如何完成任務。 我有一類Person,其中包含兩個字段:
XML:
<group>
<person>
<id>1</id>
<hubby>
<id>1</id>
</hubby>
<hubby>
<id>2</id>
</hubby>
<hubby>
<id>3</id>
</hubby>
<hubby>
<id>4</id>
</hubby>
</person>
<person>
<id>2</id>
<hubby>
<id>1</id>
</hubby>
<hubby>
<id>2</id>
</hubby>
</person>
</group>
首先,從這里獲取xml結構模型。
[XmlRoot(ElementName = "hubby")]
public class Hubby
{
[XmlElement(ElementName = "id")]
public string Id { get; set; }
}
[XmlRoot(ElementName = "person")]
public class Person
{
[XmlElement(ElementName = "id")]
public string Id { get; set; }
[XmlElement(ElementName = "hubby")]
public List<Hubby> Hubby { get; set; }
}
[XmlRoot(ElementName = "group")]
public class Group
{
[XmlElement(ElementName = "person")]
public List<Person> Person { get; set; }
}
然后,您可以這樣做:
var stringReader = new System.IO.StringReader(System.IO.File.ReadAllText("path"));
var serializer = new XmlSerializer(typeof(Group));
var data = serializer.Deserialize(stringReader) as Group;
// get all hubby of first person
var hubbies = data.Person[0].Hubby;
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.