1

我使用<xsl:value-of select="translate($var,'|',' | ')"/>where var 的格式为 ABCD|EFGH|AWED|WERS|GGHS|KLIY|GYOK 。我得到的输出是:ABCD EFGH AWED WERS GGHS KLIY GYOK。即所有的管道都丢失了。这是什么原因……?

4

1 回答 1

2

Translate 将第一个字符串中的第一个字符替换为第二个字符串中的第一个字符,将第一个中的第二个替换为第二个中的第二个,依此类推。所以这里的管道被替换为空格,第二个字符串的接下来的 2 个字符被忽略。

在 XSLT 2.0 中有一个替换功能。但是在 XSLT 1.0 中没有,因此您必须使用一种解决方法。请参阅此处获取解决方案:XSLT 字符串替换

于 2013-09-02T22:20:30.380 回答