You can therefore easily convert it with:
import jakarta.xml.bind.JAXBContext; import jakarta.xml.bind.Marshaller; import java.io.StringWriter; /** * Provides utility methods for serialization scenarios */ public class SerializationUtils { /** * Serialize the given object to XML String using JAXBContext * It will set the output to be pretty printed * It relies on the object annotations to correctly place and annotate all fields * @param object * @return the string representation of this object as XML * @param <T> */ public static <T> String serializeXml(T object) { try { JAXBContext jc = JAXBContext.newInstance(object.getClass()); Marshaller marshaller = jc.createMarshaller(); marshaller.setProperty(Marshaller.JAXB_FORMATTED_OUTPUT, true); //to completely remove the xml preamble `<?xml version="1.0" encoding="UTF-8" standalone="yes"?>` add this line: //marshaller.setProperty(Marshaller.JAXB_FRAGMENT, true); //marshaller cannot output to string directly StringWriter sw = new StringWriter(); marshaller.marshal(object, sw); return sw.toString(); } catch (Exception e) { throw new RuntimeException("Failed to convert payload to xml. ", e); } } }
No comments:
Post a Comment
With great power comes great responsibility