0

我有一个类似这样的网页

<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>没有任何子元素的标签的文本

4

3 回答 3

1

建议的解决方案在使用 XSLT 时是正确的。正如您仅使用 xpath 标记的那样,这里是 XPath 版本:

//p[count(*) = 0]/text()
于 2013-07-03T11:55:49.563 回答
1

仅仅检查是否有一个,通常比计数要快:

//p[not(*)]/text()
于 2013-07-03T12:08:02.940 回答
0

您可以使用模板

<xsl:template match="p">
    <xsl:if test="count(*) = 0">
        <xsl:value-of select="."/>
</xsl:if>
</xsl:template>

只有当节点内部没有其他标签时,这才会打印 p 标签的值。

于 2013-07-03T11:42:42.880 回答