如何从XSLT中的XML属性中删除磅符号?

时间:2012-01-14 11:22:42

标签: xslt

我想删除XSLT中的formattedValue属性中的井号(£)。你能帮忙吗?

    <price value="£99.99" formattedValue="£99.99">55.55</price>

我需要输出为 99.99

基本上,需要删除XSLT中的井号

2 个答案:

答案 0 :(得分:2)

使用翻译:

<xsl:template match="@* | node()">
  <xsl:copy>
    <xsl:apply-templates select="@* | node()"/>
  </xsl:copy>
</xsl:template>

<xsl:template match="price">
  <xsl:copy>
    <xsl:apply-templates select="@* | node()"/>
  </xsl:copy>
</xsl:template>

<xsl:template match="price/@formattedValue">
  <xsl:attribute name="{name()}">
    <xsl:value-of select="translate(., '£', '')"/>
  </xsl:attribute>
</xsl:template>

答案 1 :(得分:0)

您可以使用translate()功能

translate(@formattedValue, '£', '')

或者,我建议在这种特殊情况下使用substring()函数更短且效率更高:

substring(@formattedValue, 2)