我有一個xml文檔,其結構如下。我正在編寫一個轉換,我想從節點B輸出文本,但忽略元素C和文本節點「title」。從本質上講,我想提取文本「text goes here」並將其輸出到一個新的元素中,並將所有空白標準化。任何人都可以幫忙嗎?下面是我到目前爲止嘗試過的。XSLT:僅輸出當前節點的文本並標準化空白
Input Doc
<A>
<B>
<C>title</C>
text goes here
</B>
</A>
Required output doc
<d>text goes here</d>
Solution A:
<xsl:template match="B">
<d>
<xsl:copy-of select="./text()"/>
</d>
</xsl:template>
問題:元素之間的空白被保留,所以我得到這樣的:
<d>
Text goes here
</d>
我在溶液中使用的儲值-的模板聲明(<xsl:value-of select="./text()"/>
),但這沒還試圖根本不返回任何文字。聲明有什麼問題嗎?
我應該提到,我用下面覆蓋了默認的文本處理模板:<xsl:template match="text()" />
感謝
嘿,弗蘭克!你能否發佈完整的工作代碼?我試着用'B/child :: text()'和'value-of select =「normalize-space(。)」'和其他組合,但似乎它不適用於我.. –
我無法得到這也可以工作。完整的模板將會有所幫助。謝謝 – JimS