In this tutorial you will learn how to generate an XML document in java
Creating An XML Document Using Java
To create a XML document in java first create a Document instance from DocumentBuilderFactory as,
DocumentBuilderFactory documentBuilderFactory = DocumentBuilderFactory.newInstance(); DocumentBuilder documentBuilder = documentBuilderFactory.newDocumentBuilder(); Document document = documentBuilder.newDocument();
Now create a Root Node of XML as
Element root = document.createElement("Student");
document.appendChild(root);
Append chid to the node
Element child1 = document.createElement("Name");
child1.appendChild(document.createTextNode("Joe"));
root.appendChild(child1);
Then transform the XML document as
TransformerFactory transformerFactory = TransformerFactory.newInstance(); Transformer transformer = transformerFactory.newTransformer(); DOMSource source = new DOMSource(document);
And finally save the XML file to the database
StreamResult result = new StreamResult("G:\\xmlfiles\\student.xml");
transformer.transform(source, result);
The complete example is given below
GenerateXML.java
package dom;
import javax.xml.parsers.DocumentBuilder;
import javax.xml.parsers.DocumentBuilderFactory;
import javax.xml.transform.Transformer;
import javax.xml.transform.TransformerFactory;
import javax.xml.transform.dom.DOMSource;
import javax.xml.transform.stream.StreamResult;
import org.w3c.dom.Document;
import org.w3c.dom.Element;
public class GenerateXML {
public static void main(String[] args) throws Exception {
DocumentBuilderFactory documentBuilderFactory = DocumentBuilderFactory.newInstance();
DocumentBuilder documentBuilder = documentBuilderFactory.newDocumentBuilder();
Document document = documentBuilder.newDocument();
/* Creating Root Element */
Element root = document.createElement("Student");
document.appendChild(root);
/* Creating First Child */
Element child1 = document.createElement("Name");
child1.appendChild(document.createTextNode("Joe"));
root.appendChild(child1);
/* Creating Second Child */
Element child2 = document.createElement("Course");
child2.appendChild(document.createTextNode("MBA"));
root.appendChild(child2);
TransformerFactory transformerFactory = TransformerFactory.newInstance();
Transformer transformer = transformerFactory.newTransformer();
DOMSource source = new DOMSource(document);
/* Creating an XML document student.xml */
StreamResult result = new StreamResult("G:\\xmlfiles\\student.xml");
transformer.transform(source, result);
/* Printing XML file on the console */
StreamResult consoleResult = new StreamResult(System.out);
transformer.transform(source, consoleResult);
}
}
When you run this application it will display message as shown below:
| <?xml version="1.0" encoding="UTF-8" standalone="no"?><Student><Name>Joe</Name><Course>MBA</Course></Student> |

[ 0 ] Comments