有什么办法可以缩短XPath表达式中使用的以下条件吗?
(../parent::td or ../parent::ol or ../parent::ul)
XPath的版本是1.0。
答案 0 :(得分:2)
最短可能是
../..[self::td|self::ol|self::ul]
“|”之间是否存在性能差异而“或”将取决于处理器,但我怀疑在大多数情况下它不会引人注意。对于性能而言,重要的是将条件设置为正确的顺序(最有可能返回的条件应该是第一个)。考虑到导航到祖父母几乎肯定会有助于提高性能,但需要注意的是(a)您的XPath引擎可以自动进行优化,(b)差异可能很小,您将难以测量它。
答案 1 :(得分:1)
使用'|'运营商。
(../parent::td|../parent::ol|../parent::ul)
答案 2 :(得分:0)
略短:
../..[self::td or self::ol or self::ul]
使用示例:
//p[../..[self::td or self::ol or self::ul]]