Xpath |路径内的操作员

时间:2015-05-26 12:59:20

标签: xpath operators

我有一个xpath如下:

.//*[text()='Name:']/../child::select | .//*[text()='Name:']/../child::span

然而对我而言,它不是很紧凑也不优雅,我更喜欢以下内容:

.//*[text()='Name:']/../child::(select|span)

但上述解决方案不起作用 我们的想法是将文本(例如'Name:'作为参数传递给函数,并返回可能是select或span类型的节点。

非常感谢你的帮助。

1 个答案:

答案 0 :(得分:3)

您可以将|运算符与self

一起使用
.//*[text()='Name:']/../child::*[self::span | self::select]

child::是默认值,因此可以缩短为

.//*[text()='Name:']/../*[self::span | self::select]