0
我想用Linq解析XML。用Linq解析XML
這是我的XML數據。
<?xml version="1.0" encoding="utf-8" ?>
<people>
<person>
<firstname>Kate</firstname>
<lastname>Smith</lastname>
<Address>Address</Address>
<Address>Address2</Address>
<Address>Address3</Address>
<age>27</age>
</person>
<person>
<firstname>Tom</firstname>
<lastname>Brown</lastname>
<Address>Address4</Address>
<Address>Address5</Address>
<Address>Address6</Address>
<age>30</age>
</person>
<person>
<firstname>Tim</firstname>
<lastname>Stone</lastname>
<Address>Address7</Address>
<Address>Address8</Address>
<Address>Address9</Address>
<age>36</age>
</person>
<person>
<firstname>Ann</firstname>
<lastname>Peterson</lastname>
<Address>Address10</Address>
<Address>Address11</Address>
<Address>Address12</Address>
<age>27</age>
</person>
</people>
public class XmlParser
{
List<Person> List = new List<Person>();
public XmlParser()
{
XDocument loadedData = XDocument.Load("Persons.xml");
var data = (from query in loadedData.Descendants("person")
select new Person
{
FirstName = (string)query.Element("firstname"),
LastName = (string)query.Element("lastname"),
//Address = (List<string>)query.Element("Address"), // I Want To Load All Address Into My List
Age = (int)query.Element("age")
}).ToList();
List.AddRange(data);
}
public class Person
{
string firstname;
string lastname;
List<string> address;
int age;
public string FirstName
{
get { return firstname; }
set { firstname = value; }
}
public string LastName
{
get { return lastname; }
set { lastname = value; }
}
public List<string> Address
{
get { return address; }
set { address = value; }
}
public int Age
{
get { return age; }
set { age = value; }
}
}
}
任何人都可以幫助我如何在LINQ查詢中添加Adrress到列表中。正如你所看到的那樣,在人之下有很多地址節點。所以如何將所有地址添加到我的列表對象中。
query.Elements(「Address」)。ToList()? –
什麼是清單?你需要正確地考慮你想要的結構。你有沒有Person類型?如果您不需要從XML中獲取它,但可以對其進行硬編碼,那會是什麼樣子? –