如何从XQuery结果中删除xmlns =“”标签?

时间:2019-03-22 21:48:02

标签: java xml xpath xquery exist-db

我正在对Java代码进行XQuery,该Java代码生成了一个文件,该文件从eXistDB的两个不同xml文件中提取数据,但是当我生成输出xml时,它会在每个子元素上添加xmlns =“”标签。

这是我得到的输出xml:

<?xml version='1.0' encoding='UTF-8'?>
<produc>
    <cod_prod xmlns="">1011</cod_prod>
    <denominación xmlns="">Micro Intel Core i5-2320</denominación>
    <precio xmlns="">120</precio>
    <nombre_zona xmlns="">Madrid-CENTRO</nombre_zona>
    <director xmlns="">Pedro Martín</director>
    <stock xmlns="">-2</stock>
</produc>
<produc>
    <cod_prod xmlns="">1019</cod_prod>
    <denominación xmlns="">Memoria DDR3 G.Skill 2GB</denominación>
    <precio xmlns="">10</precio>
    <nombre_zona xmlns="">Madrid-CENTRO</nombre_zona>
    <director xmlns="">Pedro Martín</director>
    <stock xmlns="">2</stock>
</produc>
<produc>
    <cod_prod xmlns="">1020</cod_prod>
    <denominación xmlns="">Memoria DDR3 G.Skill 4GB</denominación>
    <precio xmlns="">30</precio>
    <nombre_zona xmlns="">Madrid-CENTRO</nombre_zona>
    <director xmlns="">Pedro Martín</director>
    <stock xmlns="">20</stock>
</produc>

这是用于生成输出的XQuery:

consulta = conn.prepareExpression("for $prod in //produc[cod_zona="+zona+"] " +
                    "let $nombre_zona:=//zona[cod_zona = $prod/cod_zona]/nombre " + 
                    "let $director:=//zona[cod_zona = $prod/cod_zona]/director " + 
                    "return" + 
                    "   <produc>" + 
                    "   <cod_prod>{data($prod/cod_prod)}</cod_prod> " + 
                    "   <denominación>{data($prod/denominacion)}</denominación> " + 
                    "   <precio>{data($prod/precio)}</precio> " + 
                    "   <nombre_zona>{data($nombre_zona)}</nombre_zona> " + 
                    "   <director>{data($director)}</director> " + 
                    "   <stock>{data($prod/stock_actual)-data($prod/stock_minimo)}</stock> " + 
                    "   </produc>"
                    );

0 个答案:

没有答案