1. 程式人生 > >在XSLT中輸出內容帶有CDATA的XML節點

在XSLT中輸出內容帶有CDATA的XML節點

  在使用XSLT格式化XML文件時,有時希望輸出帶有<![CDATA[ ]]>內容的節點,好處是CDATA中的內容不用進行任何轉義,可以原樣存放在XML文件中而不會存在歧義。但是你不能直接在XSLT中使用CDATA節點來進行輸出格式化,原因是XSLT會將其中的內容原樣輸出,你無法在其中插入任何用於運算和取值的標籤,如<xsl:value-of>。

  參考W3schoold中的解釋http://www.w3school.com.cn/xsl/el_output.asp,我們可以在<xsl:output>節點中指定內容要作為CDATA部分來輸出的節點名稱,然後直接在XSLT中使用即可。如:

<xsl:output method="xml" indent="yes" cdata-section-elements="Note"/>

  然後直接在文件中引用:

<Note>
  <xsl:value-of select="."/>
</Note>

XSLT會將輸出的內容自動放到CDATA節點中。