字符在XSLT中不显示

时间:2013-04-16 14:43:47

标签: xslt

在XSLT中执行了 normalize-space 并且表现不佳,它不是空白是一个不可见的字符。

元素

<div class='tyreNameComplete'> WinterContact TS800 </div>

XSLT:

translate(//x:div[@class='tyreNameComplete'], ' ', '')

包含奇怪字符的元素:

&#10;            WinterContact TS800 &#10;            &#10;            &#10;                &#10;                    &#10;                    &#10;                &#10;                &#10;            &#10;        

角色是:&#10;没有显示。

我希望结果是:

WinterContact TS800

我需要清洁才能得到你需要的东西。你会怎么对待这个案子?感谢。

解决方案:

translate(//x:div[@class='tyreNameComplete'], '&#10; ', '')

包含&#10;之后的不可见字符,以查看linux终端中的文件可视化并复制xslt中的字符。

1 个答案:

答案 0 :(得分:1)

使用此源XML:

<element>&#10;            WinterContact TS800 &#10;            &#10;            &#10;                &#10;                    &#10;                    &#10;                &#10;                &#10;            &#10;        </element>

这个模板:

<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
    <xsl:template match="/">
        <collapsed><xsl:value-of select="normalize-space(element)"/></collapsed>
    </xsl:template>
</xsl:stylesheet>

我得到了这个输出:

<collapsed>WinterContact TS800</collapsed>

这似乎是你想要的?