我的xml文件中有多个植物标签。基本代码是:
<plant>
<common>snakeroot</common>
<botanical>cimicifuga</botanical>
<zone>5</zone>
<light>shade</light>
<price>$5.63</price>
<availability>071114</availability>
</plant>
我想根据价格对此文件进行排序。如果我使用
<xsl:sort select="//price" data-type="number" order="descending" />
但它没有排序,原因是我面前有一个美元符号。有人可以建议如何删除它或格式化它,以便我得到所需的结果。
由于
答案 0 :(得分:1)
如果它始终是一个美元符号,那么你可以做
<xsl:sort select="substring-after(price, '$')" data-type="number"
order="descending" />
您绝对不希望使用前导//
,因为这会使其成为绝对路径,它会为每个plant
选择完全相同的排序键值(即整个文档中的第一个price
元素,而不是相对路径,用于从它所查看的特定price
中选择plant
时间。