如何在没有XPath子节点的情况下选择当前节点的内容?
例如,如果我喜欢这个
<text> sometext <citation> somecitation </citation> sometext </text>
所以我需要一些没有引用的文字。
答案 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