我有HTML文件,我用XPath解析它。我想要选择其中没有[p]标签的所有[div]节点。
例如,输入:
<div>
<p>no1</p>
</div>
<div>
<div>
<p>no2</p>
</div>
</div>
<div>
yes!!!
</div>
预期产出:
yes!!!
我尝试过这个XPath查询,这对我不起作用:
//div[not (p)]
答案 0 :(得分:1)
使用// div [not(descendant :: p)]
这是一个快速的XSL示例
<xsl:template match='/'>
<div>
<xsl:for-each select='//div[not(descendant::p)]'>
<xsl:value-of select='.'/>
</xsl:for-each>
</div>
</xsl:template>
答案 1 :(得分:0)
xpath:
//div[not (p)]
返回示例xml中的2个div
节点:
<div> <-- This one
<div>
和你期望的那个:
<div>
yes!!!
</div>
您可能在查询中引用xpath,您希望只有一个节点(例如SelectSingleNode
),因此只返回第一个节点。