【发布时间】:2011-04-14 13:47:20
【问题描述】:
假设我有以下 XML 文件:
<?xml version="1.0" encoding="UTF-8"?>
<response>
<project>
<ixGroup>105</ixGroup>
<sGroup>Place Group</sGroup>
</project>
<project>
...
我使用以下代码从中提取不同的 <ixGroup> 和 <sGroup> 文本值:
XDocument doc = XDocument.Load(@"C:\temp\xmlParse2.xml");
var projects = (from project in doc.Descendants("project")
select new {
id = project.Element("ixGroup").Value,
name = project.Element("sGroup").Value
}).Distinct();
foreach(var project in projects)
{
project.id.Dump("id");
project.name.Dump("name");
}
如果同一个 xml 文件有一个额外的元素,比如下面添加的 <projects>:
<response>
<projects>
<project>
<ixGroup>105</ixGroup>
<sGroup>Place Group</sGroup>
</project>
<project>
...
如何修改上面的 LINQ 代码以仍然访问 <project> 元素?
【问题讨论】:
标签: c# linq-to-xml descendant