2016-07-26 84 views
3

如何选择当前节点没有使用XPath节点的内容? 例如,如果我有这样的 <text> sometext <citation> somecitation </citation> sometext </text>XPath当前没有子节点的节点内容

所以我只需要sometext没有引文。

回答

1

如果你只想在text元素中的文本,你可以使用:

//text/text() 

使用例如xmllint这给出:

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

// text/text()这是我正在寻找!我需要编写xsl,以不同的字体创建一些文本和引用,也许你知道该怎么做? – Alex

1

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

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

注意,在你的代码段有两个与sometext 2个text()子节点。目前还不清楚你是否要输出。

相关问题