HtmlAgilityPackを使用してHTMLページを解析および分析していますが、各ノードの「深さ」(ノードからの距離)を知る必要がありBody
ます。例(「深さ」属性は説明のみを目的としています):
<html>
<head></head>
<body depth="0">
<div depth="1">
<ul depth="2">
<li depth="3">
<p depth="4">foo</p>
</li>
<li depth="3">
<p depth="4">bar</p>
</li>
</ul>
</div>
</body>
</html>
私は2つの明白な解決策を避けようとしています:
- HTMLツリー(DFS、BFSなど)をスキャンし、各ノードの深さを計算して、値を辞書などに保存します。
node.ParentNode
に達するまでカウントして、「オンデマンド」で各ノードの深さを計算しますbody
。
HtmlAgilityPackによって収集された既存のデータを何らかの方法で使用してこれらを回避する方法はありLoad
ますか?