我有这个XML文件
<?xml version="1.0"?>
<ns0:personas xmlns:ns0="http://www.personas.com">
<ns0:persona>
<ns0:idee>idee_1</ns0:idee>
<ns0:nss>nss_1</ns0:nss>
<ns0:curp>curp_1</ns0:curp>
<ns0:rfc>rfc_1</ns0:rfc>
<ns0:nombre>nombre_1</ns0:nombre>
<ns0:apellido-paterno>apellido-paterno_1</ns0:apellido-paterno>
<ns0:apellido-materno>apellido-materno_1</ns0:apellido-materno>
<ns0:agregado-medico>agregado-medico_1</ns0:agregado-medico>
<ns0:agregado-afiliacion>agregado-afiliacion_1</ns0:agregado-afiliacion>
</ns0:persona>
<ns0:persona>
<ns0:idee>idee_1</ns0:idee>
<ns0:nss>nss_1</ns0:nss>
<ns0:curp>curp_1</ns0:curp>
<ns0:rfc>rfc_1</ns0:rfc>
<ns0:nombre>nombre_1</ns0:nombre>
<ns0:apellido-paterno>apellido-paterno_1</ns0:apellido-paterno>
<ns0:apellido-materno>apellido-materno_1</ns0:apellido-materno>
<ns0:agregado-medico>agregado-medico_1</ns0:agregado-medico>
<ns0:agregado-afiliacion>agregado-afiliacion_1</ns0:agregado-afiliacion>
</ns0:persona>
<ns0:persona>
<ns0:idee>idee_1</ns0:idee>
<ns0:nss>nss_1</ns0:nss>
<ns0:curp>curp_1</ns0:curp>
<ns0:rfc>rfc_1</ns0:rfc>
<ns0:nombre>ramon</ns0:nombre>
<ns0:apellido-paterno>apellido-paterno_1</ns0:apellido-paterno>
<ns0:apellido-materno>apellido-materno_1</ns0:apellido-materno>
<ns0:agregado-medico>agregado-medico_1</ns0:agregado-medico>
<ns0:agregado-afiliacion>agregado-afiliacion_1</ns0:agregado-afiliacion>
</ns0:persona>
</ns0:personas>
我想删除所有不重复的元素。例如,上述xml示例的结果应该是:
<?xml version="1.0"?>
<ns0:personas xmlns:ns0="http://www.personas.com">
<ns0:persona>
<ns0:idee>idee_1</ns0:idee>
<ns0:nss>nss_1</ns0:nss>
<ns0:curp>curp_1</ns0:curp>
<ns0:rfc>rfc_1</ns0:rfc>
<ns0:nombre>nombre_1</ns0:nombre>
<ns0:apellido-paterno>apellido-paterno_1</ns0:apellido-paterno>
<ns0:apellido-materno>apellido-materno_1</ns0:apellido-materno>
<ns0:agregado-medico>agregado-medico_1</ns0:agregado-medico>
<ns0:agregado-afiliacion>agregado-afiliacion_1</ns0:agregado-afiliacion>
</ns0:persona>
<ns0:persona>
<ns0:idee>idee_1</ns0:idee>
<ns0:nss>nss_1</ns0:nss>
<ns0:curp>curp_1</ns0:curp>
<ns0:rfc>rfc_1</ns0:rfc>
<ns0:nombre>nombre_1</ns0:nombre>
<ns0:apellido-paterno>apellido-paterno_1</ns0:apellido-paterno>
<ns0:apellido-materno>apellido-materno_1</ns0:apellido-materno>
<ns0:agregado-medico>agregado-medico_1</ns0:agregado-medico>
<ns0:agregado-afiliacion>agregado-afiliacion_1</ns0:agregado-afiliacion>
</ns0:persona>
</ns0:personas>
我有这些功能:
此上面还有更多代码
fn:remove($persona, xf:index-of-node($no-duplicado, $persona))
declare function xf:index-of-node ( $arg as element()? , $substring as element()* ) as xs:integer* {
if (contains($arg, $substring))
then (string-length(substring-before($arg, $substring))+1,
for $other in
xf:index-of-node(substring-after($arg, $substring),
$substring)
return
$other + string-length(substring-before($arg, $substring)) + string-length($substring))
else ()
} ;
答案 0 :(得分:0)
对不起,我没有收到通知。这是许多XQuery表达式之一:
<ns0:personas xmlns:ns0="http://www.personas.com">
{/*/*[some $other in (/*/* except .) satisfies deep-equal(.,$other)]}
</ns0:personas>