XPath根据子元素的值选择元素

试图根据它的一个子元素的值来选择一个元素

有以下想法,但不工作,感谢任何帮助,谢谢

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

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

想要所有作者名= '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>
188029 次浏览

差不多了。在谓词中,需要相对路径,因此更改

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

要么

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

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

你会和你的元素相配的。当前谓词返回到文档的根以查找author