Loops xquery按id排序

Loops xquery按id排序,loops,xquery,Loops,Xquery,我想知道我怎么能用循环来分类不需要的元素,它不会返回具有相同id的元素 Fiddle举了一个例子,并期望: 让$act:=( hel1lo hel1lo , hel1lo hel1lo , hel1lo hel1lo ) 让$act1:=( hel1lo hel1lo , hel1lo hel1lo ) $act$act1中的$data 其中$act/@id!=$act1/@id 回来 $data 我想知道如何从$act1元素 扩展: <?xml version="1.0" encodi

我想知道我怎么能用循环来分类不需要的元素,它不会返回具有相同id的元素 Fiddle举了一个例子,并期望:

让$act:=(
hel1lo
hel1lo
,
hel1lo
hel1lo
,
hel1lo
hel1lo
)
让$act1:=(
hel1lo
hel1lo
,
hel1lo
hel1lo
)
$act$act1中的$data
其中$act/@id!=$act1/@id
回来
$data
我想知道如何从$act1元素

扩展:

<?xml version="1.0" encoding="UTF-8"?>
<act id="1">
   <data>hel1lo</data>
   <data>hel1lo</data>
</act>
<act id="2">
   <data>hel1lo</data>
   <data>hel1lo</data>
</act>
<act id="3">
   <data>hel1lo</data>
   <data>hel1lo</data>
</act>
<act id="4">
   <data>hel1lo</data>
   <data>hel1lo</data>
</act>

hel1lo
hel1lo
hel1lo
hel1lo
hel1lo
hel1lo
hel1lo
hel1lo

这似乎是一个问题,可以通过按
@id
分组,然后返回每组的第一项来解决:

for $data in ($act,$act1)
where $act/@id != $act1/@id
group by $id := $data/@id
return
$data[1]

for $data in ($act,$act1)
where $act/@id != $act1/@id
group by $id := $data/@id
return
$data[1]