trabajar - programa en java para crear un xml
¿Cómo se crean los nodos XML usando Java DOM? (1)
Además de los tutoriales mencionados anteriormente, aquí hay un ejemplo simple que usa los paquetes javax.xml.transform
y org.w3c.dom
:
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();
}
}
}
¿Cómo puedo crear el siguiente XML
utilizando Java DOM
, quiero crearlo desde cero. ¿Hay alguna manera? No quiero leerlo y clonarlo, solo quiero crearlo mediante métodos DOM
.
Ejemplo de Java
:
Node booking=new Node();
Node bookingID=new Node();
booking.add(bookingID);
Ejemplo XML
:
<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>