我正在尝试编写一个XSLT来生成一个电子表格ML,以便Excel进一步阅读并遇到换行问题。我需要为单元格数据添加换行符。我在Excel中制作了一个样本来检查换行符的Excel概念并获得以下内容:
<Data>abc def</Data>
此处
引用是换行符,Excel在读取文件时理解它就好了。我试着用XSLT生成相同的东西,但是,我自然会得到一个真正的0x0A(LF)字符,所以我的XML看起来如此:
<Data>abc
def</Data
这似乎不同意Excel表示换行符的方式,当我在Excel中打开文件时,我没有换行。
我试图研究这个问题,但除了following short discussion之外什么都没有,它没有真正提供解决方案,并暗示它可能是Excel中的一个错误。 (更新:据我所知,这就是规范所谓的“编码事故”和XML解析器一定不能依赖它们,而Excel会这样做。)
有没有办法以某种方式解决这个问题并在输出中获得文字
而不是LF字符?或者以其他方式解决这个问题?
答案 0 :(得分:1)
是的,Excel有自己的方法来区分LF
字符和字符引用
到该字符。
我认为使用XSLT 1.0,如果你想强制一个字符引用,那么做<xsl:text disable-output-escaping="yes"><![CDATA[ ]]></xsl:text>
是蛮力的方式。