使用descendans的LINQ To XML查询

本文关键字:XML 查询 To LINQ descendans 使用 | 更新日期: 2023-09-27 17:58:51

我想使用LINQ to xml 查询以下xml文件

<table>
 <row>
  <cell>
    <content>x</content>
  <cell>
  <cell>
    <content>y</content>
  <cell>
  <cell>
    <foo>
     <bar>x</bar>
    </foo>
  <cell>
 <row>
</table>

我正在尝试获取具有值为"x"的子体的所有单元格节点。在本例中,应返回两个单元格节点

使用descendans的LINQ To XML查询

您可以使用Any扩展方法来查看单元格的任何子项是否具有正确的值。

XDocument doc = XDocument.Load("somefile.xml");
var cells = from cell in doc.Descendants("cell")
            where cell.Descendants().Any(v => v.Value == "x")
            select cell;