有以下内容的节点。
<item is_json_array="yes">
<name>Дополнительная услуга Количество IP-адресов - 1 Шт (Размещение сервера 1U #817)</name>
<amount>156.48</amount>
<taxrate>0</taxrate>
<taxamount>0.00</taxamount>
<notaxamount>156.48</notaxamount>
</item>
我需要撕掉name
一个只包含#
符号后的数字的子字符串。 817
到第一个非数字字符或字符串的结尾。数字字符可以是任意数量的
答案 0 :(得分:3)
由于您使用的是XSLT 1.0,因此您可以使用substring-after()
和translate()
的组合来获取#
之后的文本,还可以删除任何不需要的字符。
示例...
<xsl:template match="name">
<xsl:value-of select="translate(substring-after(.,'#'),translate(substring-after(.,'#'),'0123456789',''),'')"/>
</xsl:template>
这里可以看到一个完整的工作示例:http://xsltfiddle.liberty-development.net/gWcDMes/1