使用 GPath 查找具有特定子节点的 XML 节点

马雷克·斯泰斯卡尔

我正在寻找一个 GPath 表达式来查找具有特定子节点的节点。

<table>
   <tr>
      <td name="line">1</td>
      <td name="price">10</td>
   </tr>
   <tr>
      <td name="line">2</td>
      <td name="price">95</td>
   </tr>
   <tr>
      <td name="line">3</td>
      <td name="price">43</td>
   </tr>
</table>

在上面的示例 XML 中,我想检索tr包含td具有属性price和文本元素的整个元素95

在 XPath 中,我会写这样的东西:

//tr[td[@name='price' and text()='95']]

我尝试过的代码看起来像这样......

xmlDoc.tr.td.find { node -> node.text() == '1' }.parent()

...但这更像是他的 XPath 等价物:

//tr/td[@name='price' and .='95']/parent::*

在这种确切的情况下它会做,但我不是父斧头的忠实粉丝。假设会有更多的子节点级别,我将如何处理“嵌套”谓词?返回一个节点,它有一个有孩子的孩子......?

非常感谢!

蒂姆_耶茨

您可以将tr用作查找的根,并使用深度优先属性**来搜索整个子树

xmlDoc.tr.find { tr -> tr.'**'.find { it.name() == 'td' && it.text() == '1' } }

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

Groovy使用带有certian子计数和表达式的gpath查找节点

来自分类Dev

如何查找缺少特定子节点的XML节点?

来自分类Dev

Groovy GPath通过许多条件查找节点

来自分类Dev

有没有更好的方法使用 Groovy Gpath 在 xml 中查找祖先?

来自分类Dev

jquery xml查找具有值的节点

来自分类Dev

如何在Java中使用DOM解析器解析XML文件时查找具有子节点的节点

来自分类Dev

如何在Java中使用DOM解析器解析XML文件时查找具有子节点的节点

来自分类Dev

使用python 2.7和XML元素树在XML中选择具有特定元素值的节点

来自分类Dev

当XML父节点和子节点具有相同的名称时,如何使用LINQ to XML

来自分类Dev

使用networkx查找具有多个父节点的节点

来自分类Dev

使用R将节点插入XML文件中的特定节点

来自分类Dev

使用C#在XML中选择具有特定名称的子节点

来自分类Dev

使用groovy删除具有名称空间的特定xml节点

来自分类Dev

使用LINQ C#检查是否存在具有特定属性的XML节点

来自分类Dev

使用LINQ C#检查是否存在具有特定属性的XML节点

来自分类Dev

如何使用LINQ删除具有属性的重复xml节点?

来自分类Dev

如何使用javascript读取具有多个节点的xml文件

来自分类Dev

使用python合并具有相同节点的XML文件

来自分类Dev

使用xslt筛选特定的XML节点

来自分类Dev

如何查找没有特定子节点的节点?

来自分类Dev

使用C#清空特定类型的所有XML节点

来自分类Dev

使用C#清空特定类型的所有XML节点

来自分类Dev

使用Golang进行XML编组-具有相同节点名称的多个节点

来自分类Dev

使用 XSLT 合并具有相同子节点值的 XML 节点

来自分类Dev

使用XPath创建XML节点

来自分类Dev

使用vbscript遍历XML节点

来自分类Dev

使用Nokogiri创建XML节点

来自分类Dev

使用Jquery从XML删除节点

来自分类Dev

使用Ajax读取XML节点

Related 相关文章

  1. 1

    Groovy使用带有certian子计数和表达式的gpath查找节点

  2. 2

    如何查找缺少特定子节点的XML节点?

  3. 3

    Groovy GPath通过许多条件查找节点

  4. 4

    有没有更好的方法使用 Groovy Gpath 在 xml 中查找祖先?

  5. 5

    jquery xml查找具有值的节点

  6. 6

    如何在Java中使用DOM解析器解析XML文件时查找具有子节点的节点

  7. 7

    如何在Java中使用DOM解析器解析XML文件时查找具有子节点的节点

  8. 8

    使用python 2.7和XML元素树在XML中选择具有特定元素值的节点

  9. 9

    当XML父节点和子节点具有相同的名称时,如何使用LINQ to XML

  10. 10

    使用networkx查找具有多个父节点的节点

  11. 11

    使用R将节点插入XML文件中的特定节点

  12. 12

    使用C#在XML中选择具有特定名称的子节点

  13. 13

    使用groovy删除具有名称空间的特定xml节点

  14. 14

    使用LINQ C#检查是否存在具有特定属性的XML节点

  15. 15

    使用LINQ C#检查是否存在具有特定属性的XML节点

  16. 16

    如何使用LINQ删除具有属性的重复xml节点?

  17. 17

    如何使用javascript读取具有多个节点的xml文件

  18. 18

    使用python合并具有相同节点的XML文件

  19. 19

    使用xslt筛选特定的XML节点

  20. 20

    如何查找没有特定子节点的节点?

  21. 21

    使用C#清空特定类型的所有XML节点

  22. 22

    使用C#清空特定类型的所有XML节点

  23. 23

    使用Golang进行XML编组-具有相同节点名称的多个节点

  24. 24

    使用 XSLT 合并具有相同子节点值的 XML 节点

  25. 25

    使用XPath创建XML节点

  26. 26

    使用vbscript遍历XML节点

  27. 27

    使用Nokogiri创建XML节点

  28. 28

    使用Jquery从XML删除节点

  29. 29

    使用Ajax读取XML节点

热门标签

归档