我有一个类似这样的网页
<p> Content </p>
...........
..........
<p> Other content
<b> Use link <b>
<h3> some text <h3>
</p>
...........
........... and some other elements starting with <p> tag having
different sub-elements inside it
我想要做的是仅提取那些没有任何子元素的<p>
标签的文本
答案 0 :(得分:1)
使用XSLT时,建议的解决方案是正确的。正如你用xpath标记的那样,这是XPath版本:
//p[count(*) = 0]/text()
答案 1 :(得分:1)
只检查是否有一个,通常比计数更快:
//p[not(*)]/text()
答案 2 :(得分:0)
您可以使用模板
<xsl:template match="p">
<xsl:if test="count(*) = 0">
<xsl:value-of select="."/>
</xsl:if>
</xsl:template>
仅当节点内没有其他标签时,才会打印p标签的值。