我一直在尝试用换行符替换schemaLocation属性中出现的所有空格字符。我发现了很多关于如何做到这一点的变化。最简单的就是
<xsl:variable name='nl'><xsl:text>
</xsl:text></xsl:variable>
然后在我的替换中,
<xsl:value-of select(replace($data,' ',$nl) />
然而,我尝试这种方式,它打印文字'#x0A;'在文件中
我已经尝试将XSL:OUTPUT更新为method =“text”但是这会产生许多其他奇怪的结果
我只想要一个换行符,而不是“#x0A”;此
的字符串表示形式答案 0 :(得分:3)
此代码有效:
<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet version="2.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:output method="text"/>
<xsl:variable name="newline">
<xsl:text>
</xsl:text>
</xsl:variable>
<xsl:template match="/">
<xsl:variable name="data">
<xsl:text>This is a string</xsl:text>
</xsl:variable>
<xsl:value-of select="replace($data,' ', $newline)" />
</xsl:template>
</xsl:stylesheet>
输出正是我们所期望的:
This
is
a
string