XPath式で使用される次の条件を短縮する方法はありますか?XPath式を最適化するにはどうすればよいですか?
(../parent::td or ../parent::ol or ../parent::ul)
XPathのバージョンは1.0です。
XPath式で使用される次の条件を短縮する方法はありますか?XPath式を最適化するにはどうすればよいですか?
(../parent::td or ../parent::ol or ../parent::ul)
XPathのバージョンは1.0です。
最短はおそらく性能差があるかどうかを
../..[self::td|self::ol|self::ul]
である "|" は、 「または」はプロセッサに依存しますが、私はほとんどの場合、それが目立たないと考えています。パフォーマンスのためには、重要なことは、条件を正しい順序で入れることです(真を返す可能性が最も高いものが最初に来るはずです)。 (a)XPathエンジンがこの最適化を自動的に行う可能性があり、(b)差異が非常に小さいため、測定に問題が生じる可能性があるため、祖父母へのナビゲーションを考慮する必要があります。
'|'オペレーター。 (../parent::td|../parent::ol|../parent::ul)
やや短い:
../..[self::td or self::ol or self::ul]
使用例:
//p[../..[self::td or self::ol or self::ul]]
どこでどのように使用するか教えていただけますか? –
あなたは2つの異なる質問をしています。どうすればそれを最適化でき、どうすれば短くすることができますか?式の長さは実行速度にほとんど影響しません。質問を明確にしてください。 –
@GrzegorzGórkiewicz残念ながら、私はできません。一般的な質問のように考えてください。 – Cuder