Creating DOM Child Elements

This lesson shows you how to create root and child
elements in the DOM tree. We will first create a blank DOM document and add the
root element to it. Then I show you how to add comment element and then child
element to the root element. In this example following xml code will generated
and displayed on the console.
<?xml version="1.0" encoding="UTF-8" ?>
<root>
<!-- This is comment-->
<Child attribute1="The value of Attribute
1" />
</root> |
Creating the root element
In the previous lesson you learned how to create DocumentBuilder
object and the create a blank DOM document. The following code creates a blank
document.
//Create blank DOM Document
Document doc = docBuilder.newDocument();
The createElement function is used to create the root
element and appendChild method is used to append the element to the DOM
document.
//create the root element
Element root = doc.createElement("root");
//all it to the xml tree
doc.appendChild(root);
Adding Comment Element to DOM Tree
The doc.createComment function is used to create
Comment object.
//create a comment
Comment comment = doc.createComment("This is comment");
//add in the root element
root.appendChild(comment);
Adding Child Element to DOM Tree
The doc.createElement function is used to create Child
element.
//create child element
Element childElement = doc.createElement("Child");
//Add the atribute to the child
childElement.setAttribute("attribute1","The value of Attribute 1");
root.appendChild(childElement);
Printing the DOM Tree on console
An finally we will print the DOM tree on the console
with the following code:
TransformerFactory tranFactory = TransformerFactory.newInstance();
Transformer aTransformer = tranFactory.newTransformer();
Source src = new DOMSource(doc);
Result dest = new StreamResult(System.out);
aTransformer.transform(src, dest);
Here is the full code of CreateDomXml.java
import org.w3c.dom.*; import javax.xml.parsers.*; import javax.xml.transform.*; import javax.xml.transform.dom.DOMSource; import javax.xml.transform.stream.StreamResult; class CreateDomXml { public static void main(String[] args) { try{ //Create instance of DocumentBuilderFactory DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance(); //Get the DocumentBuilder DocumentBuilder docBuilder = factory.newDocumentBuilder(); //Create blank DOM Document Document doc = docBuilder.newDocument(); //create the root element Element root = doc.createElement("root"); //all it to the xml tree doc.appendChild(root); //create a comment Comment comment = doc.createComment("This is comment"); //add in the root element root.appendChild(comment); //create child element Element childElement = doc.createElement("Child"); //Add the atribute to the child childElement.setAttribute("attribute1","The value of Attribute 1"); root.appendChild(childElement); TransformerFactory tranFactory = TransformerFactory.newInstance(); Transformer aTransformer = tranFactory.newTransformer(); Source src = new DOMSource(doc); Result dest = new StreamResult(System.out); aTransformer.transform(src, dest); }catch(Exception e){ System.out.println(e.getMessage()); } } }
|

|
Current Comments
2 comments so far (post your own) View All Comments Latest 10 Comments:thanks a lot for helping me in xml-dom.
Posted by venkat on Friday, 01.4.08 @ 15:46pm | #44504
Plz Help Me
I want to edit xml file by Java
If any one have any idia about this then help;
Posted by Mukesh on Thursday, 12.20.07 @ 15:51pm | #43103