我有一个XML文件,XSLT将其转换为HTML文件。我想在一行上用javascript变量编写我的XML,其所有标签和文本都在HTML文件中。
例如,我想转换它:
<root>
<groupe>
<link>
...
</link>
</groupe>
</root>
到:
<script>
var xml = '<root><groupe><link>...</link></groupe></root>';
</script>
我知道<xsl:copy-of ... />
保留文本和标签,但我无法摆脱换行符和空格。 我已经看到了normalize-space
选项,但是
<xsl:template match="@* | node()" >
<xsl:copy-of select="normalize-space(.)" />
</xsl:template>
打印不带标记的输出 XML。
我想你可以使用类似的东西
...
<script>
var xml = '<xsl:copy-of select="." />'
</script>
...
在您的模板中。
你需要的是在xsl:output标签中声明属性indent="no",例如
<xsl:output method="xml" version="1.0" encoding="UTF-8" indent="no"/>
可能还有
<xsl:strip-space elements="*"/>
也可能是有益的。