Xml 如何在XQuery中获取节点值之和?

Xml 如何在XQuery中获取节点值之和?,xml,xquery,scrape,Xml,Xquery,Scrape,在下面的xml中,有两种类型的信息与零件和订单相关。 XML: 但是,此查询返回的是零件价格,而不是总价格。 其结果是:3 2 1 有人知道如何计算价格的总和吗?你是在计算单个价值的总和。将fn:sum() fn:sum( for $item in /mo/orders/order[@ono='1022']/items/item return /mo/parts/part[@pno = $item/partNumber]/price * $item/quantity ) 您忘记与查询中

在下面的xml中,有两种类型的信息与零件和订单相关。 XML:

但是,此查询返回的是零件价格,而不是总价格。 其结果是:3 2 1


有人知道如何计算价格的总和吗?

你是在计算单个价值的总和。将
fn:sum()

fn:sum(
  for $item in /mo/orders/order[@ono='1022']/items/item
  return /mo/parts/part[@pno = $item/partNumber]/price * $item/quantity
)

您忘记与查询中的项数相乘。:)
for
$o in /mo/orders/order,
$p in /mo/parts/part
where
data($o/@ono) = ("1022")
and
data($p/@pno) = $o/items/item/partNumber
return fn:sum($p/price)
fn:sum(
  for $item in /mo/orders/order[@ono='1022']/items/item
  return /mo/parts/part[@pno = $item/partNumber]/price * $item/quantity
)