XQuery 1.0删除重复的节点值
我尝试了各种方法从输入中删除重复的节点 我当前使用的表达式如下所示:XQuery 1.0删除重复的节点值,xquery,Xquery,我尝试了各种方法从输入中删除重复的节点 我当前使用的表达式如下所示: <Signers>{ let $signers := fn:distinct-values($temp.load/*/Signers) for $signer in $signers return <Signer>{ $signer }</Signer> }</Signers> { le
<Signers>{
let $signers := fn:distinct-values($temp.load/*/Signers)
for $signer in $signers
return
<Signer>{
$signer
}</Signer>
}</Signers>
{
let$signers:=fn:distinct值($temp.load/*/signers)
对于$signers中的$signer
返回
{
$signer
}
}
我甚至使用了$signer/id、$signer/name等,但这并没有生成所需的输出
输入
a1546000000xtaqAAA
jrogers@burlington.com
杰克罗杰斯
A1546000000xWnsay
myaddress96@gmail.com
沃尔特·怀特
A1546000000xWnsay
myaddress@gmail.com
沃尔特·怀特
电流输出
<Signers>
<Signer>a1546000000xtaqAAAjrogers@burlington.comJack Rogers</Signer>
<Signer>a1546000000xwNSAAYrichbateman96@gmail.comWalter White</Signer>
</Signers>
a1546000000xtaqAAAjrogers@burlington.comJack罗杰斯
a1546000000xwNSAAYrichbateman96@gmail.comWalter白色
期望输出
<Signers>
<id>a1546000000xtaqAAA</id>
<email>jrogers@burlington.com</email>
<name>Jack Rogers</name>
</Signers>
<Signers>
<id>a1546000000xwNSAAY</id>
<email>myaddress96@gmail.com</email>
<name>Walter White</name>
</Signers>
a1546000000xtaqAAA
jrogers@burlington.com
杰克罗杰斯
A1546000000xWnsay
myaddress96@gmail.com
沃尔特·怀特
这必须很简单,我知道我忽略了一些东西。谢谢大家! 您可以按以下操作按不同的
id
进行选择:
<Signers>
{
/*/Signers[not(id=preceding-sibling::Signers/id)]
}
</Signers>
<Signers>
{
/*/Signers[not(id=preceding-sibling::Signers/id)]
}
</Signers>
<Signers>
{
let $ids := fn:distinct-values(/*/Signers/id)
for $id in $ids
return
/*/Signers[id=$id][1]
}
</Signers>