您好我有以下XML结构:
<Root>
<Persons>
<PersonList Category="Employee">
<Person Name="John" Id="5" />
<Person Name="Mary" Id="10" />
</PersonList>
</Persons>
</Root>
我希望使用LinqtoXML,为了获得可用Person的列表,我只需编写此查询:
var persons = from p in myDoc.Descendants("Person")
select p;
现在,我要做的是为了让所有Person where PersonList Element中的Category = =特定值?我不能使用 Parent ,因为我需要指定 PersonList 元素,因为XML的结构可能与此结构不同,但不是元素名称。 有可能吗?
答案 0 :(得分:2)
听起来你正在寻找
var people = myDoc.Descendants("PersonList")
.Where(p => p.Attribute("Category").Value == something)
.Descendants("Person");
如果您想获取特定<Person>
元素的类别,可以编写
var category = elem.AncestorsAndSelf("PersonList")
.First().Attribute("Category").Value;