0

这是我的 XML

<ticket><sold>0</sold><price>7.00</price></ticket>
<ticket><sold>1</sold><price>7.00</price></ticket>
<ticket><sold>1</sold><price>7.00</price></ticket>

我想总结总销售价格,在这种情况下它将是 14.00 美元,因为第一个不卖任何票

标签将只有 2 个值(1 或 0)

我想到的最简单的方法是对每张票的售价进行多重定价,然后总结起来。

我分组,下面是我的代码,但我得到了 0

0<?sum(current-group()/sold * current-group()/price)?>

你知道为什么吗?如果您有更简单的方法,请告诉我

谢谢

4

2 回答 2

1

因为从你的尝试(sum(current-group()/sold * current-group()/price))我假设你正在寻找销售和价格的乘积之和。使用 xpath 2.0,您可以尝试:

sum(//ticket[sold!=0]/(price * sold))
于 2013-06-14T06:46:50.840 回答
0

如果您知道 的值<sold>只有 0 或 1,您可以这样做:

sum(//ticket[sold!=0]/price[.>0])

最后的检查 ( [.>0]) 将确保它们是数字节点,以确保它会正确返回。

于 2013-06-14T05:46:21.787 回答