2016-07-26 173 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()子節點。目前還不清楚你是否要輸出。

相關問題