Oma*_*riq 1 html php xml xpath
我对XPath并不完全熟悉.我做了大量的搜索,只为直系孩子找到了解决方案.
要求是选择一个没有任何子元素,大子元素,盛大子元素或其家族树中存在文本节点的子元素.
一个简单的例子是: -
<div><p></p><p><span></span></p><p><span>notemptychild</span></p><p>notempty</p></div>
Run Code Online (Sandbox Code Playgroud)
如果我运行以下XPath查询: -
//p[not(text())]
Run Code Online (Sandbox Code Playgroud)
它给出了以下输出: -
Element='<p/>'
Element='<p>
<span/>
</p>'
Element='<p>
<span>notemptychild</span>
</p>'
Run Code Online (Sandbox Code Playgroud)
(我正在使用freeformatter xpath工具:http://www.freeformatter.com/xpath-tester.html )
第一个元素是有效选择.
第二个元素是有效选择.
第三个元素不是有效选择,因为其p子span节点中有一个文本节点.
我希望我没有提出复杂的问题.
这个XPath,
//*[not(.//text())]
Run Code Online (Sandbox Code Playgroud)
将选择文档中没有文本节点后代的所有元素.
这个XPath,
//*[not(.//text()[normalize-space()])]
Run Code Online (Sandbox Code Playgroud)
做同样但允许只包含空格的文本节点.
| 归档时间: |
|
| 查看次数: |
1470 次 |
| 最近记录: |