Can JAXB store the class name in the XML so that the the deserialize code doesn't need knowledge of the class?

Posted by Andrew on Stack Overflow See other posts from Stack Overflow or by Andrew
Published on 2010-12-29T21:32:43Z Indexed on 2010/12/29 22:54 UTC
Read the original article Hit count: 173

Filed under:
|
|

It seems the standard approach for deserializing JAXB XML is to specify the package name when creating the context. Then, JAXB looks up the class based on the root element:

JAXBContext jc = JAXBContext.newInstance("com.foo"); Unmarshaller u = jc.createUnmarshaller(); Object o = u.unmarshal(new StringReader("..."));

I'm looking for a more flexible approach where I don't have to specify the package name and could still deserialize any object. This would be as simple as JAXB storing the package in the XML, but I can't seem to find out how to do this. I can write the code to do it myself but that would be unpleasant. It would like JAXB to do it, if possible. BTW, I am not using schemas, just Annotations and marshal/unmarshal. Any ideas?

© Stack Overflow or respective owner

Related posts about java

Related posts about xml-serialization