JAXB Tip: One Line of Code to Marshall and Unmarshall XML
Join the DZone community and get the full member experience.
Join For FreeI wrote in a previous article how easy it is to translate Java object to/from XML, without adding exotic library dependencies to your project; recently I’ve going through the code of one of my colleague and I discovered that the 3 line necessary to marshal and un-marshal the XML can be shortened to a single line using the JAXB utility class:
JAXBContext context = JAXBContext.newInstance(ObjectToConvert.class);
Unmarshaller u = context.createUnmarshaller();
return (ObjectToConvert) u.unmarshal(xmlInputStream);
// becomes
return (ClassToConvert)JAXB.unmarshal(xmlInputStream, ObjectToConvert.class);
// and
JAXBContext context = JAXBContext.newInstance(objectInstanceToConvert.getClass());
Marshaller m = jc.createMarshaller();
m.marshal(objectInstanceToConvert, xmlOutputStream);
// becomes
JAXB.marshall(objectInstanceToConvert, xmlOutputStream)
Nice: one line of code to convert Java objects from/to XML. I didn’t notice this utility method in the JAXB library at first, so I was implementing those two methods in my code, more or less the same way. It’s always good to remove code.
From http://en.newinstance.it/2011/05/26/jaxb-tip-one-line-of-code-to-marshall-and-unmarshall-xml/
Opinions expressed by DZone contributors are their own.
Trending
-
From CPU to Memory: Techniques for Tracking Resource Consumption Over Time
-
Extending Java APIs: Add Missing Features Without the Hassle
-
Decoding ChatGPT: The Concerns We All Should Be Aware Of
-
Knowing and Valuing Apache Kafka’s ISR (In-Sync Replicas)
Comments