XPATH - 如何根据兄弟属性/数据查询节点?

wol*_*ang 0 xpath

...More <book></book> objects here

<book>
  <author>John</author>
  <price>50</price>
</book>

<book>
  <author>Henry</author>
  <price>60</price>
</book>
... More <book></book> objects here
Run Code Online (Sandbox Code Playgroud)

我想price与作者一起获得这本书的价值John

这是我失败的尝试 //book//[self::author//text()="john"].//price

获取此price详细信息的正确查询是什么?

Kac*_*hna 5

试试这种方式:

//book[author= 'John']/price/text()
Run Code Online (Sandbox Code Playgroud)

这将返回: 50

如果你想获得price元素,你应该使用以下表达式:

//book[author= 'John']/price
Run Code Online (Sandbox Code Playgroud)

它返回: <price>50</price>

请注意,XML区分大小写.所以,john并且John是不同的价值观.