XPath没有子节点的当前节点的内容

时间:2016-07-26 15:20:45

标签: xml xslt xpath

如何在没有XPath子节点的情况下选择当前节点的内容? 例如,如果我喜欢这个 <text> sometext <citation> somecitation </citation> sometext </text>

所以我需要一些没有引用的文字。

2 个答案:

答案 0 :(得分:1)

text()为您提供所有文本子节点,因此在XSLT 2.0中,您只需使用<xsl:value-of select="text()"/>输出两个文本子节点。或者写一个模板

<xsl:template match="text">
  <xsl:apply-templates select="text()"/>
</xsl:template>

请注意,在您的代码段中,有两个text()个子节点都带有sometext。目前尚不清楚是否要输出两者。

答案 1 :(得分:1)

如果您只想要text元素中的文字,可以使用:

//text/text()

使用例如xmllint给出:

> xmllint -xpath "//text/text()" test.xml
 sometext  sometext