Hallo ihr lieben,
ich arbeite heute zum ersten mal mit dem Unmarshaller und leider habe ich ein Problem, das ich nicht richtig deuten kann. Ich habe eine XML die wie folgt beginnt:
und mein Code zum auslesen:
Wenn ich dies durchlaufen lasse, bekomm ich folgende Fehlermeldung:
Auch die Variante mit dem InputStreamReader funktioniert leider nicht.
Komisch ist aber, dass es durchläuft, wenn ich den
Hat jemand eine Ahnung an was das liegt?!
ich arbeite heute zum ersten mal mit dem Unmarshaller und leider habe ich ein Problem, das ich nicht richtig deuten kann. Ich habe eine XML die wie folgt beginnt:
Code:
<?xml version="1.0" encoding="iso-8859-15" standalone="yes"?>
<document id="Test.pdf">
<page id="Page-01">
und mein Code zum auslesen:
Java:
List<Path> filesInFolder;
try {
filesInFolder = Files.walk(Paths.get("-FOLDER-"))
.filter(Files::isRegularFile)
.collect(Collectors.toList());
JAXBContext jaxbContext = JAXBContext.newInstance(XmlBlockDocument.class);
Unmarshaller jaxbUnmarshaller = jaxbContext.createUnmarshaller();
for (Path onePath : filesInFolder) {
XmlBlockDocument xmlBlock = (XmlBlockDocument) jaxbUnmarshaller.unmarshal(new File(onePath.toString()));
// XmlBlockDocument xmlBlock = (XmlBlockDocument) jaxbUnmarshaller.unmarshal(new BufferedReader(new InputStreamReader(new FileInputStream(onePath.toString()), "ISO-8859-15")));
data.add(xmlBlock);
System.out.println("verarbeitet");
}
System.out.println("fertig");
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (JAXBException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
Wenn ich dies durchlaufen lasse, bekomm ich folgende Fehlermeldung:
Code:
javax.xml.bind.UnmarshalException
- with linked exception:
[org.xml.sax.SAXParseException; systemId: file:-File-; lineNumber: 2; columnNumber: 1; Content is not allowed in prolog.]
at javax.xml.bind.helpers.AbstractUnmarshallerImpl.createUnmarshalException(AbstractUnmarshallerImpl.java:335)
at com.sun.xml.internal.bind.v2.runtime.unmarshaller.UnmarshallerImpl.createUnmarshalException(UnmarshallerImpl.java:563)
at com.sun.xml.internal.bind.v2.runtime.unmarshaller.UnmarshallerImpl.unmarshal0(UnmarshallerImpl.java:249)
at com.sun.xml.internal.bind.v2.runtime.unmarshaller.UnmarshallerImpl.unmarshal(UnmarshallerImpl.java:214)
at javax.xml.bind.helpers.AbstractUnmarshallerImpl.unmarshal(AbstractUnmarshallerImpl.java:157)
at javax.xml.bind.helpers.AbstractUnmarshallerImpl.unmarshal(AbstractUnmarshallerImpl.java:162)
at javax.xml.bind.helpers.AbstractUnmarshallerImpl.unmarshal(AbstractUnmarshallerImpl.java:171)
at javax.xml.bind.helpers.AbstractUnmarshallerImpl.unmarshal(AbstractUnmarshallerImpl.java:189)
at application.xmlDataTests.XMLLoader.<init>(XMLLoader.java:36)
at application.xmlDataTests.XMLLoader.main(XMLLoader.java:55)
Caused by: org.xml.sax.SAXParseException; systemId: file:-File-; lineNumber: 2; columnNumber: 1; Content is not allowed in prolog.
at org.apache.xerces.util.ErrorHandlerWrapper.createSAXParseException(Unknown Source)
at org.apache.xerces.util.ErrorHandlerWrapper.fatalError(Unknown Source)
at org.apache.xerces.impl.XMLErrorReporter.reportError(Unknown Source)
at org.apache.xerces.impl.XMLErrorReporter.reportError(Unknown Source)
at org.apache.xerces.impl.XMLScanner.reportFatalError(Unknown Source)
at org.apache.xerces.impl.XMLDocumentScannerImpl$PrologDispatcher.dispatch(Unknown Source)
at org.apache.xerces.impl.XMLDocumentFragmentScannerImpl.scanDocument(Unknown Source)
at org.apache.xerces.parsers.XML11Configuration.parse(Unknown Source)
at org.apache.xerces.parsers.XML11Configuration.parse(Unknown Source)
at org.apache.xerces.parsers.XMLParser.parse(Unknown Source)
at org.apache.xerces.parsers.AbstractSAXParser.parse(Unknown Source)
at org.apache.xerces.jaxp.SAXParserImpl$JAXPSAXParser.parse(Unknown Source)
at com.sun.xml.internal.bind.v2.runtime.unmarshaller.UnmarshallerImpl.unmarshal0(UnmarshallerImpl.java:243)
... 7 more
Auch die Variante mit dem InputStreamReader funktioniert leider nicht.
Komisch ist aber, dass es durchläuft, wenn ich den
aus der XML lösche...encoding="iso-8859-15"
Hat jemand eine Ahnung an was das liegt?!