我有一个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。
答案 0 :(得分:3)
我认为你可以使用像
这样的东西...
<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="*"/>
也可能是有益的。