Output XML DOM tree with LSSerializer in Java
Description
The following code shows how to output XML DOM tree with LSSerializer.
Example
/*from ww w. j a va2 s . c om*/
import java.io.StringWriter;
import javax.xml.parsers.DocumentBuilder;
import javax.xml.parsers.DocumentBuilderFactory;
import org.w3c.dom.Document;
import org.w3c.dom.Element;
import org.w3c.dom.bootstrap.DOMImplementationRegistry;
import org.w3c.dom.ls.DOMImplementationLS;
import org.w3c.dom.ls.LSOutput;
import org.w3c.dom.ls.LSSerializer;
public class Main {
public static void main(String[] argv) throws Exception{
DocumentBuilderFactory dbf = DocumentBuilderFactory.newInstance();
dbf.setNamespaceAware(true);
DocumentBuilder db = dbf.newDocumentBuilder();
Document doc = db.newDocument();
Element root = doc.createElementNS(null, "Site");
Element item = doc.createElementNS(null, "name");
item.appendChild(doc.createTextNode("java2s.com"));
root.appendChild(item);
item = doc.createElementNS(null, "topic");
item.appendChild(doc.createTextNode("java"));
root.appendChild(item);
item = doc.createElementNS(null, "topic");
item.appendChild(doc.createTextNode("xml"));
root.appendChild(item);
doc.appendChild(root);
DOMImplementationRegistry registry = DOMImplementationRegistry.newInstance();
DOMImplementationLS domImplLS = (DOMImplementationLS) registry.getDOMImplementation("LS");
LSSerializer ser = domImplLS.createLSSerializer();
LSOutput out = domImplLS.createLSOutput();
StringWriter stringOut = new StringWriter();
out.setCharacterStream(stringOut);
ser.write(doc, out);
System.out.println("STRXML = " + stringOut.toString());
}
}
The code above generates the following result.