Java tutorial
//package com.java2s; import org.w3c.dom.*; import org.w3c.dom.bootstrap.DOMImplementationRegistry; import org.w3c.dom.ls.*; import java.io.*; public class Main { public static String lsSerializeDom(Node doc) throws Exception { if (doc == null) return null; DOMImplementationRegistry registry = DOMImplementationRegistry.newInstance(); DOMImplementationLS impl = (DOMImplementationLS) registry.getDOMImplementation("LS"); LSSerializer writer = impl.createLSSerializer(); return writer.writeToString(doc); } public static String lsSerializeDom(Node doc, String encoding) throws Exception { if (doc == null) return null; return new String(lsSerializeDom(doc, new ByteArrayOutputStream(), encoding).toByteArray(), encoding); } public static <T extends OutputStream> T lsSerializeDom(Node doc, T byteStream, String encoding) throws Exception { if (doc == null) return byteStream; DOMImplementationRegistry registry = DOMImplementationRegistry.newInstance(); DOMImplementationLS impl = (DOMImplementationLS) registry.getDOMImplementation("LS"); LSOutput lsOutput = impl.createLSOutput(); lsOutput.setByteStream(byteStream); encoding = encoding == null ? "UTF-8" : encoding; lsOutput.setEncoding(encoding); impl.createLSSerializer().write(doc, lsOutput); return byteStream; } }