Wednesday, March 11, 2009

Java XML Example

import java.io.StringWriter;
import java.util.ArrayList;

import javax.xml.transform.OutputKeys;
import javax.xml.transform.Transformer;
import javax.xml.transform.TransformerFactory;
import javax.xml.transform.dom.DOMSource;
import javax.xml.transform.stream.StreamResult;

import org.apache.xerces.dom.DocumentImpl;
import org.w3c.dom.Document;
import org.w3c.dom.Element;


/**
* @author tzg136
*
* TODO To change the template for this generated type comment go to
* Window - Preferences - Java - Code Style - Code Templates
*/
public class XMLCreator {
Document xmlDoc = null;
Element rootElement = null;
Element topElement = null;
public Document getData()
{
xmlDoc = new DocumentImpl();
topElement = xmlDoc.createElement("source");

//data
ArrayList alEmp = new ArrayList();
EmployeeBean e= new EmployeeBean();
e.setEmp_ID("3636");
e.setEmp_Name("Andrew");
e.setEmp_Sal("60000");
alEmp.add(e);
e.setEmp_ID("2");
e.setEmp_Name("kumas");
e.setEmp_Sal("60asd000");
alEmp.add(e);

// data end

for(int i=0;i < alEmp.size();i++)
{
EmployeeBean emp = (EmployeeBean)alEmp.get(i);
createXml(emp);
}
System.out.println("TOP SIZE"+alEmp.size());
xmlDoc.appendChild(topElement);
System.out.println("OP NN"+xmlDoc.getNodeName());
System.out.println("OP"+xmlDoc.toString());
return xmlDoc;
}
public void createXml(EmployeeBean emp)
{
Element innnerElement = xmlDoc.createElement("EMPINFO");
org.w3c.dom.Node node_Empid = xmlDoc.createElement("Empid");
org.w3c.dom.Node node_EmpName = xmlDoc.createElement("EmpName");
org.w3c.dom.Node node_EmpSal = xmlDoc.createElement("EmpAge");

node_Empid.appendChild(xmlDoc.createTextNode(emp.getEmp_ID()));
node_EmpName.appendChild(xmlDoc.createTextNode(emp.getEmp_Name()));
node_EmpSal.appendChild(xmlDoc.createTextNode(emp.getEmp_Sal()));

innnerElement.appendChild(node_Empid);
innnerElement.appendChild(node_EmpName);
innnerElement.appendChild(node_EmpSal);

topElement.appendChild(innnerElement);

}
public String toString()
{
return this.getClass().getName();
}

public static void main(String args[])
{
XMLCreator a = new XMLCreator();
//StreamResult result = new StreamResult(System.out);
//System.out.println("Out put"+a.getData().toString());
try
{
Document doc = a.getData();

Transformer transformer = TransformerFactory.newInstance().newTransformer();
transformer.setOutputProperty(OutputKeys.INDENT, "yes");

//initialize StreamResult with File object to save to file
StreamResult result = new StreamResult(new StringWriter());
DOMSource source = new DOMSource(doc);
transformer.transform(source, result);

String xmlString = result.getWriter().toString();
System.out.println(xmlString);
}
catch(Exception e)
{
e.getMessage();
}


//System.out.println(doc.getElementsByTagName("Empid").);

}
}




class EmployeeBean
{
/**
* @return Returns the emp_ID.
*/
public String getEmp_ID() {
return emp_ID;
}
/**
* @param emp_ID The emp_ID to set.
*/
public void setEmp_ID(String emp_ID) {
this.emp_ID = emp_ID;
}
/**
* @return Returns the emp_Sal.
*/
public String getEmp_Sal() {
return emp_Sal;
}
/**
* @param emp_Sal The emp_Sal to set.
*/
public void setEmp_Sal(String emp_Sal) {
this.emp_Sal = emp_Sal;
}

String emp_ID;
/**
* @return Returns the emp_Name.
*/
public String getEmp_Name() {
return emp_Name;
}
/**
* @param emp_Name The emp_Name to set.
*/
public void setEmp_Name(String emp_Name) {
this.emp_Name = emp_Name;
}
String emp_Name;

String emp_Sal;
}

No comments: