How do I convert a org.w3c.dom.Document object to a String? How do I convert a org.w3c.dom.Document object to a String? xml xml

How do I convert a org.w3c.dom.Document object to a String?


use some thing like

import java.io.*;import javax.xml.transform.*;import javax.xml.transform.dom.*;import javax.xml.transform.stream.*;//method to convert Document to Stringpublic String getStringFromDocument(Document doc){    try    {       DOMSource domSource = new DOMSource(doc);       StringWriter writer = new StringWriter();       StreamResult result = new StreamResult(writer);       TransformerFactory tf = TransformerFactory.newInstance();       Transformer transformer = tf.newTransformer();       transformer.transform(domSource, result);       return writer.toString();    }    catch(TransformerException ex)    {       ex.printStackTrace();       return null;    }} 


If you are ok to do transformation, you may try this.

DocumentBuilderFactory domFact = DocumentBuilderFactory.newInstance();DocumentBuilder builder = domFact.newDocumentBuilder();Document doc = builder.parse(st);DOMSource domSource = new DOMSource(doc);StringWriter writer = new StringWriter();StreamResult result = new StreamResult(writer);TransformerFactory tf = TransformerFactory.newInstance();Transformer transformer = tf.newTransformer();transformer.transform(domSource, result);System.out.println("XML IN String format is: \n" + writer.toString());


This worked for me, as documented on this page:

TransformerFactory tf = TransformerFactory.newInstance();Transformer trans = tf.newTransformer();StringWriter sw = new StringWriter();trans.transform(new DOMSource(document), new StreamResult(sw));return sw.toString();