[英]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.