如何优化XPath表达式?

时间:2017-02-03 16:36:15

标签: xpath

有什么办法可以缩短XPath表达式中使用的以下条件吗?

(../parent::td or ../parent::ol or ../parent::ul)

XPath的版本是1.0。

3 个答案:

答案 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]]