2
私はXPathを完全に理解していません。私は広範な検索を行い、ただちに子供たちのための解決策を見つけました。テキストノードの子孫のないドキュメント内のすべての要素のXpath?
子ノード、孫ノード、壮大な孫ノード、またはそのノード内にテキストノードを持つファミリツリー内に存在する子ノードを持たない要素を選択する必要があります。
簡単な例がある: - 私は次のXPathクエリを実行する場合
<div><p></p><p><span></span></p><p><span>notemptychild</span></p><p>notempty</p></div>
: -
//p[not(text())]
それは出力を以下与える: -
Element='<p/>'
Element='<p>
<span/>
</p>'
Element='<p>
<span>notemptychild</span>
</p>'
(私はフリーフォーマットのxpathツールを使用:http://www.freeformatter.com/xpath-tester.html)
最初の要素は有効な選択です。
第2要素は有効な選択です。
p
の子span
にテキストノードがあるため、3番目の要素は有効な選択ではありません。
私は複雑な質問をしなかったことを願っています。
ありがとうございます。できます。私はそれが利用可能になるとすぐにそれを受け入れます。私が逃したもう一つの要求。これは '
'を選択しますが、 ''は選択しません。このXPathで空白文字のテキストノードを無視する方法を教えてください。 –@OmarTariq:リクエストごとに2番目のXPathで回答が更新されました。 – kjhughes
ありがとう、大変感謝しています。 –