У меня есть следующие XMLXSLT в CDATA JS
<AAA>
<BBB>Total</BBB>
</AAA>
Преобразование с помощью следующей XSLT с помощью XSL: копирование тега, потому что я хочу использовать XML, чтобы создать XML-документ в JS ,
<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. Лучше всего запросить XML отдельно от сервера через AJAX вместо того, чтобы прямо вставлять его в ваш JS-код. – Tomalak
Thanks Welbog, Вот что я искал. Tomalak, Это делает много смысла, но я работаю внутри рамки, и лучшее, что я могу сделать, это получить xml через xsl. – davomarti
@ davomarti - Подсказка: если ответ решил вашу проблему, вы должны отметить его как принятый. – Tomalak