How can I create the below XML
using Java DOM
, I want to create it from scratch. Is there any way?
I don't want to read it and clone it, I just want to create it by DOM
methods.
Java
Example:
Node booking=new Node();
Node bookingID=new Node();
booking.add(bookingID);
XML
Example:
<tns:booking>
<tns:bookingID>115</tns:bookingID>
<tns:type>double</tns:type>
<tns:amount>1</tns:amount>
<tns:stayPeriod>
<tns:checkin>
<tns:year>2013</tns:year>
<tns:month>11</tns:month>
<tns:date>14</tns:date>
</tns:checkin>
<tns:checkout>
<tns:year>2013</tns:year>
<tns:month>11</tns:month>
<tns:date>16</tns:date>
</tns:checkout>
</tns:stayPeriod>
</tns:booking>
According to the XML DOM, everything in an XML document is a node: The entire document is a document node. Every XML element is an element node. The text in the XML elements are text nodes. Every attribute is an attribute node.
("tagname") − is the name of new element node to be created. The following example (createnewelement_example.htm) parses an XML document ( node.xml) into an XML DOM object and creates a new element node PhoneNo in the XML document. new_element = xmlDoc.createElement ("PhoneNo"); creates the new element node <PhoneNo>
DOM stands for D ocument O bject M odel. A DOM is a standard tree structure to define the XML structure. The two most common types of nodes are element nodes and text nodes. The example contains few important elements: create a Document object using DocumentBuilder and DocumentBuilderFactory classes.
("tagname") − is the name of new element node to be created. The following example (createnewelement_example.htm) parses an XML document ( node.xml) into an XML DOM object and creates a new element node PhoneNo in the XML document.
Besides the tutorials mentioned already, here is a simple example that uses javax.xml.transform
and org.w3c.dom
packages:
import java.io.*;
import javax.xml.transform.*;
import javax.xml.transform.dom.DOMSource;
import javax.xml.transform.stream.StreamResult;
import org.w3c.dom.*;
import com.sun.org.apache.xerces.internal.dom.DocumentImpl;
public class XML {
public static void main(String[] args) {
XML xml = new XML();
xml.makeFile();
}
public void makeFile() {
Node item = null;
Document xmlDoc = new DocumentImpl();
Element root = xmlDoc.createElement("booking");
item = xmlDoc.createElement("bookingID");
item.appendChild(xmlDoc.createTextNode("115"));
root.appendChild(item);
xmlDoc.appendChild(root);
try {
Source source = new DOMSource(xmlDoc);
File xmlFile = new File("yourFile.xml");
StreamResult result = new StreamResult(new OutputStreamWriter(
new FileOutputStream(xmlFile), "ISO-8859-1"));
Transformer xformer = TransformerFactory.newInstance().newTransformer();
xformer.transform(source, result);
} catch(Exception e) {
e.printStackTrace();
}
}
}
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With