Bom dia amigos,
o que eu estou tenando fazer é pegar um xml e transforma-lo em objeto. Porém não estou coseguindo.
Aqui está o estilo do meu xml.
<nfeProc xmlns="http://www.portalfiscal.inf.br/nfe" versao="2.00">
<NFe xmlns="http://www.portalfiscal.inf.br/nfe">...</NFe>
<protNFe xmlns="http://www.portalfiscal.inf.br/nfe" versao="2.00">...</protNFe>
</nfeProc>
E aqui está a classe que eu mapiei:
@XmlRootElement(name="nfeProc")
@XmlType(propOrder = { "nFe", "infNfe" })
public class NFiscalEletronica {
@XmlElement(name="NFe")
public NFiscalEletr nFe;
@XmlElement(name="protNFe")
public InfoNfe infNfe;
}
E aqui está a forma como eu estou tentando dar um unmarshal
JaxbUtil jaxb = new JaxbUtil();
nota = (NFiscalEletronica) jaxb.unmarshal(nfe, NFiscalEletronica.class);
Aqui esta JaxbUtil:
public Object unmarshal(File arquivo, Class<? extends Object> classe) throws JAXBException{
JAXBContext jc = JAXBContext.newInstance(classe);
Unmarshaller um = jc.createUnmarshaller();
return um.unmarshal(arquivo);
}
Aqui está o erro:
javax.xml.bind.UnmarshalException: unexpected element (uri:"http://www.portalfiscal.inf.br/nfe", local:"nfeProc"). Expected elements are <{}NFe>,<{}ide>,<{}infNFe>,<{}nfeProc>
at com.sun.xml.internal.bind.v2.runtime.unmarshaller.UnmarshallingContext.handleEvent(UnmarshallingContext.java:631)
at com.sun.xml.internal.bind.v2.runtime.unmarshaller.Loader.reportError(Loader.java:236)
at com.sun.xml.internal.bind.v2.runtime.unmarshaller.Loader.reportError(Loader.java:231)
at com.sun.xml.internal.bind.v2.runtime.unmarshaller.Loader.reportUnexpectedChildElement(Loader.java:105)
Alguém teria uma força ?