<root>
<descriptor>
<content name="test">
<foo>
<bar>someValue</bar>
</foo>
</content>
</descriptor>
</root>
给定这个简单的例子XML如果属性不为null并且它包含一个值为“someValue”的子句“foo”,我如何选择所有“descriptor”元素?
var elements = this.Descendants("descriptor")
.Where(d => d.Element("content").Attribute("name") != null)
.Where(d => d.Element("bar").Value == "someValue");
我希望结果是“描述符”的集合。
谢谢!
答案 0 :(得分:0)
这样的事情会起作用:
var elements = this.Descendants("descriptor")
.Where(d => d.Element("content").Attribute("name") != null &&
d.Descendants("foo").Any(x => (string) x.Element("bar") == "someValue")))
.ToList();