我的xml遇到了一个小问题,如下所述。我正在xslt中编写一个逻辑,但我无法获得输出。请任何人尽快帮助我这是我的XML
<block4>
<tag>
<name>72</name>
<value>/BNF/
FETA/ABNAAFU000000D93--16.560-10/</value>
</tag>
</block4>
这是我的XSL
<xsl:for-each select="block4/tag[name = '72']">
<xsl:value-of select="concat((concat(substring-before(value,' '),',')),(substring-after(value,' '))) "/>
</xsl:for-each>,<xsl:text/>
所需输出:/BNF/,FETA/ABNAAFU000000D93-16.560-10/
注意:我正在尝试获得这样的输出LINE1,LINE2
我不太确定你想做什么,但我认为normalize-space
和translate
函数的组合就是你想要的,比如:
<xsl:for-each select="block4/tag[name = '72']">
<xsl:value-of select="translate(normalize-space(value), ' ', ',')"/>
</xsl:for-each>,<xsl:text/>
normalize-space
会将所有空白空间转换为空格,并将多个空格转换为单个空格。translate
将把所有剩余的空格变成逗号。