1

我正在尝试使用 jasperreports,当我尝试运行正在开发的应用程序时出现下一个错误:

        org.xml.sax.SAXParseException; lineNumber: 1; columnNumber: 1; Content is not allowed in prolog.
    at es.uniway.principal.EnviarInfoPedido.infoPedido_Mayorista(EnviarInfoPedido.java:452)
    at es.uniway.principal.ObtenerProcesos.ejecutar(ObtenerProcesos.java:78)

    at es.uniway.principal.SincronizadorCloud.main(SincronizadorCloud.java:14)

对于我正在写的代码:

    xtw = xof.createXMLStreamWriter(new FileWriter(nombre_report+".xml"));

            //
           // xmlwriter.WriteStartDocument();

            xtw.writeStartDocument();

            // nodo 1
            xtw.writeStartElement("request");
            xtw.writeAttribute("operationName", "runReport");
            xtw.writeAttribute("locale", "es");
            // nodo 2
            xtw.writeStartElement("argument");
            xtw.writeAttribute("name","RUN_OUTPUT_FORMAT");
            xtw.writeCharacters(formato.trim().toUpperCase());
            xtw.writeEndElement();  // nodo 2
            // nodo 2
            xtw.writeStartElement("argument");
            xtw.writeAttribute("name","USE_DIME_ATTACHMENTS");
            xtw.writeCharacters("1");
            xtw.writeEndElement();  // nodo 2
            // nodo 3
            xtw.writeStartElement("resourceDescriptor");
            xtw.writeAttribute("name","");
            xtw.writeAttribute("wsType","");
            xtw.writeAttribute("uriString", CARPETA_REPORT + nombre_report.trim());
            xtw.writeAttribute("isNew", "false");

            //// nodo 4
            //xmlwriter.WriteStartElement("label", null);
            //xmlwriter.WriteEndElement(); // nodo 4  

            if (nombre_report == "LINEAS_DETALLE_COSTE" && id_albaran_coste.trim() != " ")
            {
                // para las líneas detalle coste teneos 2 parámetros:
                //   - NALNARANC --> albaran para calcular el descuento de coste
                //   - NALBARANV --> albaran para calcular el descuento de venta
                // parametro 1
                xtw.writeStartElement("parameter");
                xtw.writeAttribute("name", "NALBARANC");
                xtw.writeAttribute("class", "java.lang.Integer");
                xtw.writeCharacters(id_albaran_coste);
                xtw.writeEndElement(); // parametro 1

                // parametro 2
                xtw.writeStartElement("parameter");
                xtw.writeAttribute("name", "NALBARANV");
                xtw.writeAttribute("class", "java.lang.Integer");
                xtw.writeCharacters(id_albaran);
                xtw.writeEndElement(); // parametro 1
            }
            else
            {
                // parametro 1
                xtw.writeStartElement("parameter");
                xtw.writeAttribute("name", "NALBARAN");
                xtw.writeAttribute("class", "java.lang.Integer");
                xtw.writeCharacters(id_albaran);
                xtw.writeEndElement(); // parametro 1
            }



            xtw.writeEndDocument();
            xtw.flush();
            xtw.close();

怎么了?。谢谢。xml是这样的,我不知道出了什么问题:

<?xml version="1.0" ?> <request operationName="runReport" locale="es"> <argument name="RUN_OUTPUT_FORMAT"> CSV </argument> <argument name="USE_DIME_ATTACHMENTS"> 1</argument><resourceDescriptor name="" wsType="" uriString="/ICLDI/CABECERA_PEDIDO_CONTRATO" isNew="false"><parameter name="NALBARAN" class="java.lang.Integer">6658</parameter></resourceDescriptor></request>

再次感谢。

4

1 回答 1

0

去掉这里的空格:

<?xml version="1.0" ?> <request

它应该如下所示:

<?xml version="1.0" ?><request

其他问题可能是您在 XML 文件的开头有一些不可见的额外字符,例如 Byte-Order-Mark(也称为 BOM)它表明 UTF-16 文件是高端或低端。

于 2013-02-08T10:58:23.207 回答