这是我的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)?>
你知道为什么吗?如果你有一个更简单的方法,请告诉我
谢谢
答案 0 :(得分:1)
因为从你的尝试(sum(current-group()/sold * current-group()/price)
)我认为你正在寻找卖出和价格相乘的总和。使用xpath 2.0,您可以尝试:
sum(//ticket[sold!=0]/(price * sold))
答案 1 :(得分:0)
如果您知道<sold>
的值只是0或1,那么您可以这样做:
sum(//ticket[sold!=0]/price[.>0])
最后一次检查([.>0]
)将确保它们是数字节点,以确保它将正确返回。