wie lösen [org.xml.sax.SAXParseException; lineNumber: 1; spalteanzahl: 1; Content is not allowed in prolog.]
das unten ist ein Beispiel meiner xml
geben Sie den link-Beschreibung hier
meine Codierung ist
JAXBContext jaxbContext = JAXBContext.newInstance(NewsMLObj.class);
SAXParserFactory spf = SAXParserFactory.newInstance();
XMLReader xr = spf.newSAXParser().getXMLReader();
//to bypass XML DocType and Entity as Jap did not provide proper XML
xr.setFeature("http://xml.org/sax/features/validation", false);
xr.setFeature("http://apache.org/xml/features/nonvalidating/load-dtd-grammar", false);
xr.setFeature("http://apache.org/xml/features/nonvalidating/load-external-dtd", false);
xr.setFeature("http://xml.org/sax/features/external-general-entities", false);
xr.setFeature("http://xml.org/sax/features/external-parameter-entities", false);
xr.setFeature("http://xml.org/sax/features/use-entity-resolver2", false);
InputSource is = new InputSource(new FileReader(factoryType.serverXML.getInputFile2() + filename));
SAXSource source = new SAXSource(xr, is);
out.println("input source=" + is);
javax.xml.bind.Unmarshaller jaxbUnmarshaller = jaxbContext.createUnmarshaller();
out.println("jaxbUnmarshaller =" + jaxbUnmarshaller);
NewsMLObj nmo = (NewsMLObj) jaxbUnmarshaller.unmarshal(source);
beim ausführen von "nmo", es habe Fehler "javax.xml.binden.UnmarshalException
- mit verbunden-Ausnahme:
[org.xml.sax.SAXParseException; lineNumber: 1; spalteanzahl: 1; Content is not allowed in prolog.]"
javax.xml.bind.UnmarshalException
- with linked exception:
[org.xml.sax.SAXParseException; lineNumber: 1; columnNumber: 1; Content is not allowed in prolog.]
at javax.xml.bind.helpers.AbstractUnmarshallerImpl.createUnmarshalException(Unknown Source)
at com.sun.xml.internal.bind.v2.runtime.unmarshaller.UnmarshallerImpl.createUnmarshalException(Unknown Source)
at com.sun.xml.internal.bind.v2.runtime.unmarshaller.UnmarshallerImpl.unmarshal0(Unknown Source)
at com.sun.xml.internal.bind.v2.runtime.unmarshaller.UnmarshallerImpl.unmarshal(Unknown Source)
at javax.xml.bind.helpers.AbstractUnmarshallerImpl.unmarshal(Unknown Source)
at javax.xml.bind.helpers.AbstractUnmarshallerImpl.unmarshal(Unknown Source)
at com.n2n.NekkeiFlashNews.client.imp.PacketToObjectNewsHostServer.processRawNews(PacketToObjectNewsHostServer.java:83)
at com.n2n.NekkeiFlashNews.client.imp.NewsRawFileReceiverThread.run(NewsRawFileReceiverThread.java:57)
at java.lang.Thread.run(Unknown Source)
Caused by: org.xml.sax.SAXParseException; lineNumber: 1; columnNumber: 1; Content is not allowed in prolog.
at com.sun.org.apache.xerces.internal.util.ErrorHandlerWrapper.createSAXParseException(Unknown Source)
at com.sun.org.apache.xerces.internal.util.ErrorHandlerWrapper.fatalError(Unknown Source)
at com.sun.org.apache.xerces.internal.impl.XMLErrorReporter.reportError(Unknown Source)
at com.sun.org.apache.xerces.internal.impl.XMLErrorReporter.reportError(Unknown Source)
at com.sun.org.apache.xerces.internal.impl.XMLScanner.reportFatalError(Unknown Source)
at com.sun.org.apache.xerces.internal.impl.XMLDocumentScannerImpl$PrologDriver.next(Unknown Source)
at com.sun.org.apache.xerces.internal.impl.XMLDocumentScannerImpl.next(Unknown Source)
at com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl.scanDocument(Unknown Source)
at com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(Unknown Source)
at com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(Unknown Source)
at com.sun.org.apache.xerces.internal.parsers.XMLParser.parse(Unknown Source)
at com.sun.org.apache.xerces.internal.parsers.AbstractSAXParser.parse(Unknown Source)
at com.sun.org.apache.xerces.internal.jaxp.SAXParserImpl$JAXPSAXParser.parse(Unknown Source)
... 7 more
ist es meine Codierung Problem? wie löst mein Problem?
Dank und beste Grüße
Sharon
- Sieht aus wie dein XML ist nicht gültig. Look mit einem hex-Editor, wenn es nicht druckbare Zeichen am Anfang
- Wie heisst die XML nicht gültig ist?
- Bitte bitte Rat? wie sollte ich das tun?
Du musst angemeldet sein, um einen Kommentar abzugeben.
Scheint es, dass Ihre xml-Datei hat einige Daten geschrieben werden, bevor der prolog.
Es sollte nichts sein, bevor die Zeichenfolge, die aussieht wie diese:
Die Fehlermeldung "Content is not allowed in Prolog" entstehen können, für eine Vielzahl von Gründen. Im Grunde bedeutet es, dass der parser gefunden, der etwas falsch ist, bevor es erfolgreich Lesen Sie die ersten aussagekräftigen Inhalt in das Dokument. Dies könnte (wie die Meldung schon sagt), da das Dokument beginnt mit etwas anderem als "<", es kann aber auch passieren, wenn der Inhalt nicht lesbar oder schlecht codiert.
Ich würde anfangen, indem Sie prüfen, ob
gibt Leser, die verwendbar ist für das Lesen von Inhalten, ohne Angabe, dass Inhalte, die für XML-parsing.