Xpath 如何编写查询flwor xquery?
我有5辆车,每辆车有5个车主,我需要返回那些国家没有出现在其他车的车主中的车主(可以出现在同一辆车的车主中):Xpath 如何编写查询flwor xquery?,xpath,xquery,xquery-sql,xquery-3.0,xquery-update,Xpath,Xquery,Xquery Sql,Xquery 3.0,Xquery Update,我有5辆车,每辆车有5个车主,我需要返回那些国家没有出现在其他车的车主中的车主(可以出现在同一辆车的车主中): 1. 乔治·史密斯 美国 卡罗莱纳·赫尔 美国 玛莎·贝拉 丹麦 费尔南多·伊扎 意大利 乔治·史密斯 意大利 2. 乔治·盖拉 美国 吉马生物 西班牙 彼得·维德夫 丹麦 费利佩·罗德里格斯 丹麦 乔治·史密斯 美国 ... ... ... 也就是说,给定该xml,输出将是: <owner> <name>Fernando Izza</name
1.
乔治·史密斯
美国
卡罗莱纳·赫尔
美国
玛莎·贝拉
丹麦
费尔南多·伊扎
意大利
乔治·史密斯
意大利
2.
乔治·盖拉
美国
吉马生物
西班牙
彼得·维德夫
丹麦
费利佩·罗德里格斯
丹麦
乔治·史密斯
美国
...
...
...
也就是说,给定该xml,输出将是:
<owner>
<name>Fernando Izza</name>
<nation>Italy</nation>
<carID>1</carID>
</owner>
<owner>
<name>George Smith</name>
<nation>Italy</nation>
<carID>1</carID>
</owner>
<owner>
<name>Gema Bio</name>
<nation>Spain</nation>
<carID>2</carID>
</owner>
费尔南多·伊扎
意大利
1.
乔治·史密斯
意大利
1.
吉马生物
西班牙
2.
我试图获得几个汽车中没有出现的国家的列表,然后找到那些来自这些国家的车主,但我不知道如何获得。您可以按国家对车主进行分组,然后向上看,是否有一个国家出现在多辆汽车下面:
for $owner in doc("cars.xml")//car/owner
group by $nation := $owner/nation
where count($owner/..) eq 1
for $o in $owner
return <owner>{
$o/*,
<carID>{$o/../id/text()}</carID>
}</owner>
用于文档中的$owner(“cars.xml”)//car/owner
按$nation分组:=$owner/nation
其中计数($owner/)等式1
对于$owner中的$o
返回{
$o/*,
{$o/./id/text()}
}
您尝试过什么?你能给我们看一下你的XQuery吗?这里有一个很好的提问规则。不要乞求。完全永远。好吧,对不起!我尝试了以下方法,以获得仅为一辆车出现的车主的国家。但我不知道该如何继续,或者这个开头是否对我有帮助:doc中的$c(“cars.xml”)//car中的$n(doc(“cars.xml”)//car/owner/nation/text())让$m:=$c/owner/nation/text()返回如果($n=$m),那么{$n}其他()
for $owner in doc("cars.xml")//car/owner
group by $nation := $owner/nation
where count($owner/..) eq 1
for $o in $owner
return <owner>{
$o/*,
<carID>{$o/../id/text()}</carID>
}</owner>