从XSLT中设置的变量输出回车符

Fre*_*ric 2 c# xml xslt

我知道它被多次询问,虽然我的问题似乎是重复的,但我无法使解决方案列表工作.为什么在我的输出文件中似乎没有添加"\ r \n"或CRLF?

<xsl:variable name="Newline">&#xD;&#xA;</xsl:variable>
...
<xsl:text>UpperLine</xsl:text>
<xsl:value-of select="$Newline"/>
<xsl:text>LowerLine</xsl:text>
Run Code Online (Sandbox Code Playgroud)

即使查看文件的十六进制表示,我也看不到0d0a相当于CRLF(我只能看到最后的那些)

在此输入图像描述

我也试过这个也没有成功:

<xsl:value-of select="concat('New Line', '&#13;&#10;')"/>
Run Code Online (Sandbox Code Playgroud)

小智 6

将您的变量声明更改为:

<xsl:variable name="Newline"><xsl:text>&#xA;</xsl:text></xsl:variable>

  • 因为XSLT从样式表中删除了空白文本节点,除非它们的父级是xsl:text.(当然XSLT根据XML解析器的输出决定是否有空格,而不是XML解析器的输入,因此使用字符实体没有区别.) (3认同)