路径 |路径内的运算符

Xpath | operator inside the path

我的 xpath 如下:

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

但是对我来说它不是很紧凑也不优雅,我更喜欢这样的东西:

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

但是上面的解决方案不起作用。
这个想法是文本(例如 'Name:' 作为参数传递给函数,它 returns 可能是 select 或 span 类型的节点。

非常感谢帮助。

您可以将 | 运算符与 self 一起使用:

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

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

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