Techioz Blog

ノードの水平方向の深さを取得するにはどうすればよいですか?

概要

注: 水平深度という用語は、ツリー内のノードのサブ次元を測定するために作成されました。

xpath が /html/table/tbody/tr/td のようなもので、「水平方向の深さ」が 5 であると想像してください。

この水平方向の深さに基づいて要素を識別して選択する方法があるかどうかを確認しようとしています。

最大深度を見つけるにはどうすればよいですか?

解決策

深さ >= 5 のすべてのノードが必要な場合:

/*/*/*/*//*

そして、深さ == 5 のすべてのノードが必要な場合:

/*/*/*/*/*

実際には、祖先軸と組み合わせることができる XPath 関数の数があります。

//*[count(ancestor::*) >= 4]