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> 

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

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

要么

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

要么

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

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