将回车符添加到XSL转换的输出中

时间:2010-05-28 19:29:38

标签: xslt carriage-return

我正在尝试使用XSLT将XML文档转换为文本文件,并且文档的文本看起来很好。但是,我需要在每行结束后添加一个回车符(不是CRLF),我似乎每次尝试都失败了。我尝试在这行的末尾添加一个CR,如下所示:

 <xsl:text>&#xD;</xsl:text>

我尝试将media-type更改为string,我尝试将disable-output-escaping属性添加到text元素,但它总是添加一个CRLF。

这是在Windows操作系统上,我知道Windows使用CRLF作为新行,但我认为你可以覆盖它,如果你说只专门使用CR或LF(例如VB.net的VBCR或VBLF) )。有谁知道是否可以只用XSLT输出CR?

提前致谢。

1 个答案:

答案 0 :(得分:0)

键入我的最后一句话导致了我的答案,但我仍然有兴趣听听是否有更优雅的解决方案。基本上我把变换的结果存储在VB中的一个字符串中,然后在输出之前用vbcr替换了vbcrlf:

    xmlTrans.Load(xsltDocPath) 'load the xslt
    xmlTrans.Transform(xmlDoc.CreateNavigator(), Nothing, sw) xform into a stringWriter
    outString = sw.ToString().Replace(vbCrLf, vbCr) 'replace the crlf with just a cr

    HL7Writer.WriteLine(outString) 'output the results

同样,如果有人有更优雅的基于XSL的解决方案,我会有兴趣听到它。

感谢。