使用XSLT从XML节点中删除换行符(LF)

时间:2011-09-07 10:07:08

标签: xml xslt linefeed lf

我在XML节点中有以下内容:

<TR_Comment>XXX YYY ZZZ
</TR_Comment>

(如您所见,有换行符)

我的XSLT非常简单:

<xsl:value-of select="a:Common/a:TR_Comment"/>

如何使用XSLT删除换行符?

2 个答案:

答案 0 :(得分:4)

normalize-space(a:Common/a:TR_Comment)能做你想做的吗?

如果你真的热衷于保留内部空白,它会变得有点不雅。一种方法是创建一个递归模板,使用string-lengthsubstring来保持从一端一个一个地删除字符,直到没有尾随空格。

答案 1 :(得分:3)

使用

translate(., '&#10;&#13;', '')

当计算此表达式时,结果是当前节点的字符串值,从中删除任何NL或CR字符。

请注意没有删除或修改其他字符,因此这是一个更精确的解决方案,在某些情况下可能优先于normalize-space()