2011-11-01 54 views
2

我在生成客户端界面所需格式的文本文件时遇到问题。客户端需要文件中每一行结尾处的换行字符。明确指定换行字符而不是回车

我使用的是Microsoft XSLT处理器,似乎无法指定换行字符。以下是我尝试解决该问题的一些示例。

XSLT

<xsl:output method="text"/> 

<xsl:template match="/"> 
    <xsl:text>LINEFEED</xsl:text> 
    <xsl:text>&#xA;</xsl:text> 
    <xsl:text>CARRIAGE RETURN</xsl:text> 
    <xsl:text>&#xD;</xsl:text> 
    <xsl:text>LINEFEED + CARRIAGE RETURN</xsl:text> 
    <xsl:text>&#xA;&#xD;</xsl:text> 
</xsl:template> 

输出

EFBB BF4C 494E 4546 4545 4420 7841 0D0A 4341 5252 4941 4745 2052 4554 5552 4E20 7844 0D0A 4C49 4E45 4645 4544 202B 2043 4152 5249 4147 4520 5245 5455 524E 0D0A 0D0A

目前我无法找到明确输出换行符(0A)的方法。

任何帮助非常感谢。

+0

微软有很多XSLT处理器,COM世界中有MSXML 3,MSXML 4,MSXML 5,MSXML 6和.NET世界中的XslCompiledTransform和XslTransform。你究竟使用了哪一个,你究竟如何运行转换? –

+0

你使用记事本打开你的.txt文件吗? – FailedDev

+0

它花了一些搜索源代码,但我们正在使用XslCompiledTransform。 – Fishcake

回答

1

如果您使用的是.NET XslCompiledTransform,则可以使用XmlWriter并以所需的方式指定XmlWriterSettings.NewLineChars属性

+0

不得不做一些挖掘源代码,但我们确实使用XslCompiledTransform。然而,我们使用StringWriter来创建输出。现在我将不得不提出有关图书馆的更改请求,但感谢您指引我朝着正确的方向发展。 – Fishcake

+0

@Fishcake:不客气。 –

相关问题