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 に答える