我有一个xml,如下所示
<employee id="e001">
<sal month="jan">
<basic>5000</basic>
<commission>3000</commission>
<sal>
<sal month="feb">
<basic>5000</basic>
<commission>3500</commission>
<sal>
<employee>
我想将其转换为xml,如下所示。
<emp id="e001" sal="5000-3000/5000-3500"></emp>
我正在使用参数employee / *
调用模板,如下所示<xsl:template name="salCnsldtd">
<xsl:param name="list" />
<xsl:for-each select="$list">
<xsl:value-of select="concat(basic,'-',commission,'/')" />
</xsl:for-each>
</xsl:template>
模板调用后我得到的结果如下所示。
<emp id="e001" sal="5000-3000/5000-3500/"></emp>
如何从sal中删除最后一个斜杠(/)。请帮助我找到更好的解决方案或删除斜线。谢谢。
答案 0 :(得分:1)
试试这个:
<xsl:template name="salCnsldtd">
<xsl:param name="list" />
<xsl:variable name="compensation">
<xsl:for-each select="$list">
<xsl:value-of select="concat('/',basic,'-',commission)" />
</xsl:for-each>
</xsl:variable>
<xsl:value-of select="substr($compensation,2)"/>
</xsl:template>
我将分隔符“/
”移动到每个元素的前面,然后剥离最后一个字符串中的第一个。