[英]How can I parse a XML file with a list of nodes?
如果我有一個簡單的xml文件
<person>
<age>46</age>
<name>Max</name>
</person>
我可以使用XDocument和LinqToSQL將數據讀入我的結構:
var res = from item in xdoc.Descendants("person")
select new Person
{
Age = item.Element("age").Value,
Name = item.Element("name").Value,
};
但是現在我有一個以上的元素
<person>
<age>46</age>
<name>Max</name>
<phone>123</phone>
<phone>456</phone>
</person>
我現在如何削減文檔並將數據讀入我的結構? 因為現在我需要一個字符串列表,但是如何獲取每個電話線並將其添加到我的列表中?
謝謝。
我想你只是在尋找:
var res = from item in xdoc.Descendants("person")
select new Person
{
Age = item.Element("age").Value,
Name = item.Element("name").Value,
Phones = item.Elements("phone").Select(x => x.Value).ToList()
};
我會將Age
設為整數(或者理想情況下將出生日期表示為DateTime
,但是......),並且可能使用顯式轉換而不是.Value
屬性:
var res = from item in xdoc.Descendants("person")
select new Person
{
Age = (int) item.Element("age"),
Name = (string) item.Element("name"),
Phones = item.Elements("phone").Select(x => (string) x).ToList()
};
所有這些都假定您的Person
類具有IList<string>
類型的可寫Phones
屬性或類似的東西。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.