Hi!
Also ich habe hier ein xsd, aus welchem ich Java Klassen generieren habe lassen (Eclipse Plugin), nun möchte ich mit Hilfe von JAXB gerne ein XML File einlesen und auf diese generierten Java Klassen abbilden.
Nur bekomme ich folgende Exception (es werden auch Inhalte des XML Files in der Exception ausgegeben, jene habe ich nicht kopiert, da alles dann sehr lange und unleserlich wäre):
Hier der Code dazu:
Also ich habe hier ein xsd, aus welchem ich Java Klassen generieren habe lassen (Eclipse Plugin), nun möchte ich mit Hilfe von JAXB gerne ein XML File einlesen und auf diese generierten Java Klassen abbilden.
Nur bekomme ich folgende Exception (es werden auch Inhalte des XML Files in der Exception ausgegeben, jene habe ich nicht kopiert, da alles dann sehr lange und unleserlich wäre):
Code:
javax.xml.bind.UnmarshalException
- with linked exception:
[java.net.MalformedURLException: no protocol: <?xml version="1.0" encoding="UTF-8" standalone="no"?><LogistikML xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
...
at com.sun.xml.internal.bind.v2.runtime.unmarshaller.UnmarshallerImpl.unmarshal0(UnmarshallerImpl.java:197)
at com.sun.xml.internal.bind.v2.runtime.unmarshaller.UnmarshallerImpl.unmarshal(UnmarshallerImpl.java:168)
at javax.xml.bind.helpers.AbstractUnmarshallerImpl.unmarshal(AbstractUnmarshallerImpl.java:137)
at at.pcd.wam.gegenstandsbereich.tmcWeb.domain.model.PlanningModel.main(PlanningModel.java:172)
Caused by: java.net.MalformedURLException: no protocol: <?xml version="1.0" encoding="UTF-8" standalone="no
at java.net.URL.<init>(URL.java:567)
at java.net.URL.<init>(URL.java:464)
at java.net.URL.<init>(URL.java:413)
at org.apache.xerces.impl.XMLEntityManager.setupCurrentEntity(Unknown Source)
at org.apache.xerces.impl.XMLVersionDetector.determineDocVersion(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 com.sun.xml.internal.bind.v2.runtime.unmarshaller.UnmarshallerImpl.unmarshal0(UnmarshallerImpl.java:195)
... 3 more
Hier der Code dazu:
Code:
public static void main(String[] args) {
try {
String fPath = "C:\\work\\workspace\\projects\\Test\\src\\main\\resources\\";
String fName = "dummy.xml";
String xmlString = XmlUtil.xmlFile2String(fPath, fName);
DatatypeFactory df;
Unmarshaller unmarshaller;
InputSource inSource = new InputSource(xmlString);
unmarshaller = JAXBContext.newInstance(
DUMMY.XML_CONTEXT_CLASS_PATH).createUnmarshaller();
LogistikML result = (LogistikML) unmarshaller.unmarshal(inSource);
System.out.println("ende");
} catch (Exception e) {
e.printStackTrace();
}
}