2
我对XPath并不完全熟悉。我进行了广泛的搜索,只为眼前的孩子找到了解决方案。对于文档中没有文本节点后代的所有元素的Xpath?
要求是选择一个没有任何孩子,大孩子,盛大孩子或其家族树中存在文本节点的子元素。
一个简单的例子是: -
<div><p></p><p><span></span></p><p><span>notemptychild</span></p><p>notempty</p></div>
如果我运行下面的XPath查询: -
//p[not(text())]
它提供了以下的输出: -
Element='<p/>'
Element='<p>
<span/>
</p>'
Element='<p>
<span>notemptychild</span>
</p>'
(我使用freeformatter xpath工具:http://www.freeformatter.com/xpath-tester.html)
第一个元素是一个有效的选择。
第二个元素是一个有效的选择。
第三个元素不是有效的选择,因为p
的孩子span
中有一个文本节点。
我希望我没有提出复杂的问题。
谢谢你。有用。我会尽快接受它。还有一个要求,我错过了。这将选择'
'而不是''。我怎样才能让这个XPath忽略任何空白文本节点。 –@OmarTariq:根据您的请求使用第二个XPath更新答案。 – kjhughes
谢谢你,非常感谢。 –