0

I am trying to parse and read a xml file using JAXB in Java. However, when I compile and run the code I get a UnmarshalException : unexpected element message. I realize it is because in my java class I have variable names that relate to the xml, but they have symbols and spaces that throw off the java compiler. So when I add it, I am assuming Java thinks I made a mistake in the code.

I get an error with these variable name

 private String _xmlns: coll; private String _xmlns: xsi; private String _xsi: schemaLocation; 

I believe it has something to do with the colon in the variable name. I also think there is a way around it using the @XmlElement(name=" string") but I am not entirely sure.

XML:

<?xml version="1.0" encoding="UTF-8"?> <results xmlns="urn:www-collation-com:1.0" xmlns:coll="urn:www-collation-com:1.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="urn:www-collation-com:1.0 urn:www-collation-com:1.0/results.xsd"> <IIsWebServiceImpl array="1" guid="063D0DD72D5F3A46B118D7A963306361" xsi:type="coll:com.platform.model.topology.app.web.klm.KLMWebService"> <modules array="1" guid="FBVRKJNR75858NND2UJ3J2IC9C9R" xsi:type="coll:com.collation.platform.model.topology.app.web.klm.KLMModule"> <fileName>D:\pubKSRF</fileName> <isPlaceholder>false</isPlaceholder> <displayName/> <hierarchyDomain>app.web.klm</hierarchyDomain> <hierarchyType>KLMModule</hierarchyType> </modules> <modules array="2" guid="IJECI89585U5FJIDNVU3FI2NF" xsi:type="coll:com.platform.model.topology.app.web.klm.KLMModule"> <fileName>d:\SRFdata</fileName> <isPlaceholder>false</isPlaceholder> <displayName/> <hierarchyDomain>app.web.klm</hierarchyDomain> <hierarchyType>KLMModule</hierarchyType> </modules> <modules array="3" guid="VNJFVFV8238DNCNCJ3J4JNDIEJC875" xsi:type="coll:com.platform.model.topology.app.web.klm.KLMModule"> <fileName>D:\srfData</fileName> <isPlaceholder>false</isPlaceholder> <displayName/> <hierarchyDomain>app.web.klm</hierarchyDomain> <hierarchyType>KLMModule</hierarchyType> </modules> <isPlaceholder>false</isPlaceholder> <displayName/> <hierarchyDomain>app.web.klm</hierarchyDomain> <hierarchyType>KLMWebService</hierarchyType> </IIsWebServiceImpl> </results> 

Java Class:

 public class Results { IIsWebServiceImpl IIsWebServiceImplObject; private String _xmlns; private String _xmlns: coll; private String _xmlns: xsi; private String _xsi: schemaLocation; // Getter Methods public IIsWebServiceImpl getIIsWebServiceImpl() { return IIsWebServiceImplObject; } public String get_xmlns() { return _xmlns; } public String get_xmlns: coll() { return _xmlns: coll; } public String get_xmlns: xsi() { return _xmlns: xsi; } public String get_xsi: schemaLocation() { return _xsi: schemaLocation; } // Setter Methods public void setIIsWebServiceImpl(IIsWebServiceImpl IIsWebServiceImplObject) { this.IIsWebServiceImplObject = IIsWebServiceImplObject; } public void set_xmlns(String _xmlns) { this._xmlns = _xmlns; } public void set_xmlns: coll(String _xmlns: coll) { this._xmlns: coll = _xmlns: coll; } public void set_xmlns: xsi(String _xmlns: xsi) { this._xmlns: xsi = _xmlns: xsi; } public void set_xsi: schemaLocation(String _xsi: schemaLocation) { this._xsi: schemaLocation = _xsi: schemaLocation; } } 

Error:

javax.xml.bind.UnmarshalException: unexpected element (uri:"urn:www-collation-com:1.0", local:"results"). Expected elements are <{}IIsWebServiceImpl>,<{}modules>,<{}results> at com.sun.xml.bind.v2.runtime.unmarshaller.UnmarshallingContext.handleEvent(UnmarshallingContext.java:714) at com.sun.xml.bind.v2.runtime.unmarshaller.Loader.reportError(Loader.java:232) at com.sun.xml.bind.v2.runtime.unmarshaller.Loader.reportError(Loader.java:227) at com.sun.xml.bind.v2.runtime.unmarshaller.Loader.reportUnexpectedChildElement(Loader.java:94) at com.sun.xml.bind.v2.runtime.unmarshaller.UnmarshallingContext$DefaultRootLoader.childElement(UnmarshallingContext.java:1119) at com.sun.xml.bind.v2.runtime.unmarshaller.UnmarshallingContext._startElement(UnmarshallingContext.java:544) at com.sun.xml.bind.v2.runtime.unmarshaller.UnmarshallingContext.startElement(UnmarshallingContext.java:526) at com.sun.xml.bind.v2.runtime.unmarshaller.SAXConnector.startElement(SAXConnector.java:138) at java.xml/com.sun.org.apache.xerces.internal.parsers.AbstractSAXParser.startElement(AbstractSAXParser.java:509) at java.xml/com.sun.org.apache.xerces.internal.impl.XMLNSDocumentScannerImpl.scanStartElement(XMLNSDocumentScannerImpl.java:374) at java.xml/com.sun.org.apache.xerces.internal.impl.XMLNSDocumentScannerImpl$NSContentDriver.scanRootElementHook(XMLNSDocumentScannerImpl.java:613) at java.xml/com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl$FragmentContentDriver.next(XMLDocumentFragmentScannerImpl.java:3058) at java.xml/com.sun.org.apache.xerces.internal.impl.XMLDocumentScannerImpl$PrologDriver.next(XMLDocumentScannerImpl.java:821) at java.xml/com.sun.org.apache.xerces.internal.impl.XMLDocumentScannerImpl.next(XMLDocumentScannerImpl.java:602) at java.xml/com.sun.org.apache.xerces.internal.impl.XMLNSDocumentScannerImpl.next(XMLNSDocumentScannerImpl.java:112) at java.xml/com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl.scanDocument(XMLDocumentFragmentScannerImpl.java:532) at java.xml/com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(XML11Configuration.java:888) at java.xml/com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(XML11Configuration.java:824) at java.xml/com.sun.org.apache.xerces.internal.parsers.XMLParser.parse(XMLParser.java:141) at java.xml/com.sun.org.apache.xerces.internal.parsers.AbstractSAXParser.parse(AbstractSAXParser.java:1213) at java.xml/com.sun.org.apache.xerces.internal.jaxp.SAXParserImpl$JAXPSAXParser.parse(SAXParserImpl.java:635) at com.sun.xml.bind.v2.runtime.unmarshaller.UnmarshallerImpl.unmarshal0(UnmarshallerImpl.java:228) at com.sun.xml.bind.v2.runtime.unmarshaller.UnmarshallerImpl.unmarshal(UnmarshallerImpl.java:199) at javax.xml.bind.helpers.AbstractUnmarshallerImpl.unmarshal(AbstractUnmarshallerImpl.java:170) at javax.xml.bind.helpers.AbstractUnmarshallerImpl.unmarshal(AbstractUnmarshallerImpl.java:209) at javax.xml.bind.helpers.AbstractUnmarshallerImpl.unmarshal(AbstractUnmarshallerImpl.java:194) at Driver.main(Driver.java:23) 
3
  • Maybe a missing @XmlRootElement(name="results") Looks similar to this: stackoverflow.com/a/5203390/495157 Commented Dec 26, 2019 at 18:15
  • @JGFMK So I have a @XmlElement but I just forgot to include it Commented Dec 26, 2019 at 18:16
  • How did you get private String _xmlns: coll;? It will not even compile. Commented Dec 26, 2019 at 18:58

0

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.