Java tutorial
//package com.java2s; /* * Copyright 2015, Supreme Court Republic of Slovenia * * Licensed under the EUPL, Version 1.1 or as soon they will be approved by the European * Commission - subsequent versions of the EUPL (the "Licence"); You may not use this work except in * compliance with the Licence. You may obtain a copy of the Licence at: * * https://joinup.ec.europa.eu/software/page/eupl * * Unless required by applicable law or agreed to in writing, software distributed under the Licence * is distributed on an "AS IS" basis, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express * or implied. See the Licence for the specific language governing permissions and limitations under * the Licence. */ import java.io.StringWriter; import static java.lang.Boolean.TRUE; import javax.xml.bind.JAXBContext; import javax.xml.bind.JAXBException; import javax.xml.bind.Marshaller; import static javax.xml.bind.Marshaller.JAXB_FORMATTED_OUTPUT; import static javax.xml.bind.Marshaller.JAXB_FRAGMENT; import org.w3c.dom.Element; import org.w3c.dom.ls.DOMImplementationLS; import org.w3c.dom.ls.LSSerializer; public class Main { /** * * @param obj * @return * @throws JAXBException */ public static String serializeToString(Object obj) throws JAXBException { java.io.StringWriter sw = new StringWriter(); final Marshaller m = JAXBContext.newInstance(obj.getClass()).createMarshaller(); m.setProperty(JAXB_FRAGMENT, TRUE); m.setProperty(JAXB_FORMATTED_OUTPUT, TRUE); m.marshal(obj, sw); return sw.toString(); } /** * * @param rootElement * @param setXmlDecl * @return */ public static String serializeToString(Element rootElement, boolean setXmlDecl) { DOMImplementationLS lsImpl = (DOMImplementationLS) rootElement.getOwnerDocument().getImplementation() .getFeature("LS", "3.0"); LSSerializer serializer = lsImpl.createLSSerializer(); serializer.getDomConfig().setParameter("xml-declaration", setXmlDecl); // set it to false to get // String without // xml-declaration return serializer.writeToString(rootElement); } }