XPath根据孩子孩子的价值来select元素

试图根据其中一个孩子的孩子的价值来select一个元素

思考以下但不工作,感谢任何帮助,谢谢

./book[/author/name = 'John']

 ./book[/author/name text() = 'John'] 

希望所有书籍的作者姓名='约翰'

Xml文件

 <list> <book> <author> <name>John</name> <number>4324234</number> </author> <title>New Book</title> <isbn>dsdaassda</isbn> </book> <book>...</book> <book>...</book> </list> 

One Solution collect form web for “XPath根据孩子孩子的价值来select元素”

差不多了。 在你的谓词中,你需要一个相对path,所以改变

 ./book[/author/name = 'John'] 

要么

 ./book[author/name = 'John'] 

要么

 ./book[./author/name = 'John'] 

你会匹配你的元素。 您当前的谓词返回到文档的根目录以查找author

  • XPath查找没有id或class的元素
  • 如何使用XPathselect任何深度的子元素?
  • 在xpath中不区分大小写的匹配?
  • Python Selenium WebDriver。 写我自己的预期条件
  • 通过XPath提取属性节点的值
  • 使用XPath,如何根据文本内容和属性值来select一个节点?
  • 如何select具有特定属性的所有元素? 与TinyXPath
  • 使用xpath获取节点的第N个子节点
  • XPath与正则expression式匹配的属性值
  • 使用XPath访问XML中的注释
  • 如何在Java中使用XPath访问OWL文档?