0
我有以下XMLXSLT通節點到CDATA JS
<AAA>
<BBB>Total</BBB>
</AAA>
使用xsl與下面的XSLT轉化它是:標籤複製的,因爲我想用XML來創建JS一個XML文檔。
<xsl:template match="/">
<![CDATA[
function myFunc() {
xmlStr = ']]><xsl:copy-of select="/"/><![CDATA[';
}
]]>
</xsl:template>
輸出看起來像這樣
function myFunc() {
xmlStr = '<AAA>
<BBB>Total</BBB>
</AAA>';
}
JS不喜歡,因爲結束了線缺少分號了這一點。 如何解決我的XSL得到以下結果:
function myFunc() {
xmlStr = '<AAA><BBB>Total</BBB></AAA>';
}
我試過正常化空間()和翻譯(),但他們從XML剝去標籤。
謝謝!
@davomarti:確保您的XML永遠不會包含任何單引號,否則您的JavaScript將會中斷。特別是,確保你的XML不包含用戶生成的數據,因爲這種方法具有很高的XSS風險。最好的方法是通過AJAX從服務器中單獨請求XML,而不是直接將它注入到JS代碼中。 – Tomalak 2010-03-15 19:40:01
感謝Welbog, 這就是我一直在尋找的。 Tomalak, 這很有意義,但我在一個框架內工作,我能做的最好的就是通過xsl獲取xml。 – davomarti 2010-03-15 20:32:43
@davomarti - 提示:如果答案解決了您的問題,您應該將其標記爲已接受。 – Tomalak 2010-03-16 10:12:58