0

我有一个 XML 文件,XSLT 将其转换为 HTML 文件。我想将我的 XML 写在一个 javascript 变量中,在一行上,它的所有标签和文本都在 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。

4

1 回答 1

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="*"/>

也可能是有益的。

于 2013-09-25T15:32:49.640 回答