Java Generate XML Example
To Create a XML in Java using Dom follow the Steps
1. Get the DocumentBuilderFactory instance
DocumentBuilderFactory dbFactory = DocumentBuilderFactory.newInstance();
2. Get DocumentBuilder instance using DocumentBuilderFactory
DocumentBuilder documentBuilder = dbFactory.newDocumentBuilder();
3. Create a document object from documentBuilder
// Create a new document document = documentBuilder.newDocument();
4. Create a root elements and add it into the document
// Creating a root element
Element rootElement = document.createElement("RootElement");
// Add it to the Document
document.appendChild(rootElement );
5. Create the child element
// Creating student elements
Element ChildElement = document.createElement("Child");
//adding attribute to student element
ChildElement .setAttribute("property", "ChildProperty");
6. Add the child element to the root element
rootElement.appendChild(ChildElement);
7. Create the output formate
// Creating XML output format OutputFormat xmlOutputFormat = new OutputFormat(document); xmlOutputFormat.setIndenting(true);
8. Create a Serialiser
XMLSerializer consoleSerializer = new XMLSerializer(System.out, xmlOutputFormat);
XMLSerializer fileSerializer = new XMLSerializer(new FileOutputStream(new File("C:\\college.xml")), xmlOutputFormat);
9. Serialise the document fileSerializer.serialize(document); An example for creating the XML in Java is given below
package net.roseindia;
import java.io.File;
import java.io.FileOutputStream;
import javax.xml.parsers.DocumentBuilder;
import javax.xml.parsers.DocumentBuilderFactory;
import org.apache.xml.serialize.OutputFormat;
import org.apache.xml.serialize.XMLSerializer;
import org.w3c.dom.Document;
import org.w3c.dom.Element;
import org.w3c.dom.Text;
public class JavaCreateXml {
Document document;
public JavaCreateXml() {
}
public void createXmlDocument() {
// Get The Document builder factory instance
DocumentBuilderFactory documentBuilderFactory = DocumentBuilderFactory
.newInstance();
try {
// Create the documentBuilder instance from documentBuilder
DocumentBuilder documentBuilder = documentBuilderFactory
.newDocumentBuilder();
// Create a new document
document = documentBuilder.newDocument();
// Creating a root element
Element collegeElement = document.createElement("College");
// Add it to the Document
document.appendChild(collegeElement);
// Getting all the student elements
Element studentElement = createStudentElement();
collegeElement.appendChild(studentElement);
// Getting all the faculity elements
Element faculity = createFaculityElement();
collegeElement.appendChild(faculity);
// Creating XML output format
OutputFormat xmlOutputFormat = new OutputFormat(document);
xmlOutputFormat.setIndenting(true);
// Creating XML output format for Console
XMLSerializer consoleSerializer = new XMLSerializer(System.out,
xmlOutputFormat);
// Creating XML output format for xml file
XMLSerializer fileSerializer = new XMLSerializer(
new FileOutputStream(new File("C:\\college.xml")),
xmlOutputFormat);
// Serializing the format
consoleSerializer.serialize(document);
fileSerializer.serialize(document);
} catch (Exception e) {
e.printStackTrace();
}
}
public Element createStudentElement() {
// Creating student elements
Element studentElement = document.createElement("Student");
// adding attribute to student element
studentElement.setAttribute("type", "regular");
// Adding name elements to student
Element studentNameElement = document.createElement("Name");
Text nameText = document.createTextNode("Ram");
studentNameElement.appendChild(nameText);
studentElement.appendChild(studentNameElement);
// Adding Course elements to student
Element studentCourseElement = document.createElement("Course");
Text courseText = document.createTextNode("B.Tech");
studentCourseElement.appendChild(courseText);
studentElement.appendChild(studentCourseElement);
// Adding Address elements to student
Element studentAddressElement = document.createElement("Address");
Text addressText = document.createTextNode("New Delhi");
studentAddressElement.appendChild(addressText);
studentElement.appendChild(studentAddressElement);
return studentElement;
}
public Element createFaculityElement() {
// Creating Faculity elements
Element faculityElement = document.createElement("Faculity");
faculityElement.setAttribute("type", "regular");
Element faculityNameElement = document.createElement("Name");
Text nameText = document.createTextNode("Toni Dicosta");
faculityNameElement.appendChild(nameText);
faculityElement.appendChild(faculityNameElement);
Element faculitySubjectElement = document.createElement("Subject");
Text subjectText = document.createTextNode("Java");
faculitySubjectElement.appendChild(subjectText);
faculityElement.appendChild(faculitySubjectElement);
return faculityElement;
}
public static void main(String[] args) {
new JavaCreateXml().createXmlDocument();
}
}
When you run this application it will display message as shown below:
| <?xml version="1.0" encoding="UTF-8"?> <College> <Student type="regular"> <Name>Ram</Name> <Course>B.Tech</Course> <Address>New Delhi</Address> </Student> <Faculity type="regular"> <Name>Toni Dicosta</Name> <Subject>Java</Subject> </Faculity> </College> |