查找XQuery与主根相同节点值
问题描述:
p.xml查找XQuery与主根相同节点值
<documents>
<dblp>
<inproceedings>
<author>John Cieslewicz</author>
<author>Kenneth A. Ross</author>
<author>Kenneth A. Ross</author>
</inproceedings>
</dblp>
<dblp>
<inproceedings>
<author>Yi-Reun Kim</author>
<author>Kyu-Young Whang</author>
<author>John Cieslewicz</author>
</inproceedings>
</dblp>
<documents>
我的代码是
for $c in doc("C:\Users\User\Desktop\p.xml")//documents/dblp/inproceedings
where fn:count($c/author) != fn:count(fn:distinct-values($c/author))
return $c/author
我需要约翰Cieslewicz和肯内特·A·罗斯在结果但只显示Kenneth A. Ross
答
如果要列出谁出现多次的作者,你需要在全球范围内指望他们在所有作者的列表,而不是在本地诉讼的作者列表:非常
let $docs := doc("C:\Users\User\Desktop\p.xml")/documents,
$authors := $docs//author,
$distinct-authors := distinct-values($authors)
for $author in $distinct-authors
where count($authors[. eq $author]) > 1
return $author
@BeniBala谢谢! – Sandy