2017-02-03 62 views
1

有什麼辦法可以縮短XPath表達式中使用的以下條件嗎?如何優化XPath表達式?

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

XPath的版本是1.0。

+0

你能告訴我們你在哪裏以及如何使用它? –

+1

您提出了兩個不同的問題:如何優化它,以及如何縮短它。表達式的長度對其執行速度影響很小。請澄清這個問題。 –

+0

@GrzegorzGórkiewicz不幸的是,我不能。請認爲它更像一個通用的問題。 – Cuder

回答

1

最短可能是

../..[self::td|self::ol|self::ul]

之間是否存在的性能差異 「|」和「或」將取決於處理器,但我懷疑在大多數情況下它不會引起注意。對於表演,重要的是要把條件放在正確的順序(最有可能返回的那個應該是第一個)。 (a)您的XPath引擎可能會自動執行此優化,並且(b)差異可能會非常小,您在測量時會遇到麻煩。

1

使用'|'運營商。 (../parent::td|../parent::ol|../parent::ul)

0

稍短:

../..[self::td or self::ol or self::ul] 

用法示例:

//p[../..[self::td or self::ol or self::ul]]