| Refresh | Home EGTry.com

write java data to xml string using dom api


package lab.xml;




import java.io.PrintWriter;


import javax.xml.parsers.DocumentBuilder;
import javax.xml.parsers.DocumentBuilderFactory;
import org.w3c.dom.CharacterData;
import org.w3c.dom.Document;
import org.w3c.dom.Element;
import org.w3c.dom.NodeList;
import org.w3c.dom.Node;
import org.w3c.dom.Text;
import org.w3c.dom.ls.DOMImplementationLS;
import org.w3c.dom.ls.LSSerializer;


import org.xml.sax.InputSource;

/**
 * construct an xml from data 
 * 
 *
 */

public class DomWrite {

  public static void main(String arg[]) throws Exception {
	  PrintWriter out=new PrintWriter(System.out);
	  test(out);
	  out.flush();
  }
  
  public static void test(PrintWriter out) throws Exception {
  
	 // XMLDocument xdoc=new XMLDocument();
     DocumentBuilderFactory factory=DocumentBuilderFactory.newInstance();
     DocumentBuilder builder=factory.newDocumentBuilder();
     Document doc=builder.newDocument();
     
     Element rootElement=doc.createElement("table");
     	rootElement.setAttribute("version", "1.1");
     	rootElement.setAttribute("userid", "123344");
     doc.appendChild(rootElement);
     
     Element child1=doc.createElement("column");
     rootElement.appendChild(child1);
     child1.setAttribute("name", "\"<column1>\"");
     Text textChild=doc.createTextNode("This is <b>inside</b>");
     child1.appendChild(textChild);
     
     DOMImplementationLS domls=(DOMImplementationLS)doc.getImplementation();
     LSSerializer serializer=domls.createLSSerializer();
     String xml=serializer.writeToString(doc);
     out.println(xml);
     /*   //Transformer depends on xalan, which is not supported by google app engine
     TransformerFactory tFactory=TransformerFactory.newInstance();
     Transformer t=tFactory.newTransformer();
     DOMSource dsource=new DOMSource(doc);
     StringWriter sOut=new StringWriter();
     StreamResult outStream=new StreamResult(sOut);
     t.transform(dsource,outStream);
     out.println(sOut.toString());
	 */
     
     /**
 <?xml version="1.0" encoding="UTF-16"?>
<table userid="123344" version="1.1">
<column name=""<column1>"">This is <b>inside</b></column>
</table>

      */

  }


}