空ノードの検出に関する最も関連性の高いXpathの質問を読んだ後、最初の空でない要素はまだ見つからない。データセットは次のようになります。最初の空でない要素を検出する
<div>
<p>
<elem> </elem>
</p>
<p>
<elem> </elem>
</p>
<p>
<elem> </elem>
</p>
<p>
<elem>   </elem>
</p>
<p>
<elem>Application</elem>
</p>
<p>
<elem>Other text that should not be detected.</elem>
</p>
<p>
<elem> </elem>
</p>
<p>
<elem>Second application</elem>
</p>
</div>
基本的に空の要素は考慮されるべきではない、と我々は唯一の最初のApplication
の要素を検出します。 normalize-space
とそれに関連する関数で多くのテストを行っていますが、これを実行することはできません。
主な問題は、空の要素です。どのように我々は、空の要素を無視することができ、そう
/div/p[position() < 3]//*[normalize-space()='Application']
:私たちが持っているチェックは今完璧な位置決めを解決するが、HTMLは
の要素が含まれていたら、失敗しましたか?これは間に追加のステップを介してのみ可能ですか?
最初は、*空の要素を*持っていないという問題があります。 'normalize-space()'は空白文字を正規化するだけです - ' '要素を正規化するかどうかは分かりませんが(基本的には改行であると仮定します)、空白がないので ' '特殊文字であり、その機能のために空白ではありません。 – BoltClock