XQuery 中有两个不同的列表
$list1:
A
B
C
D
和
$list2
A
D
是否有一个函数可以:创建 $list3,其中 $list2 的所有元素都不存在于 $list1 中?
最佳答案
如果您的值是原子的,您可以利用 =
的存在语义:
let $list1 := ('A', 'B', 'C', 'D')
let $list2 := ('A', 'D', 'E', 'F')
let $list3 := $list2[not(. = $list1)]
return $list3
结果:'E', 'F'
如果您想通过节点标识来比较 XML 节点,可以使用 except
改为关键字:
let $nodes := (<A/>, <B/>, <C/>, <D/>, <E/>, <F/>)
let $list1 := ($nodes[1], $nodes[2], $nodes[3], $nodes[4])
let $list2 := ($nodes[1], $nodes[4], $nodes[5], $nodes[6])
let $list3 := $list2 except $list1
return $list3
结果:<E/>, <F/>
关于xml - XQuery 1.0 中是否存在一个函数来检查列表中的值是否存在于另一个列表中?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34987996/