DOM gyermek elem (child element) létrehozása
Closed Published by admin február 5th, 2010 in tutorialsEbben a fejezetben a gyökér és gyermek elem létrehozásáról lesz szó a DOM fában (DOM tree). Először egy üres DOM dokumentumot készítünk, és hozzáadjuk a gyökér elemet. Utána megjegyzés majd gyermek elemet fogunk a gyökér elemhez adni. A lecke során a következő XML kódot fogjuk elkészíteni és megjeleníteni a konzolon.
<?xml version="1.0" encoding="UTF-8" ?> <root> <!-- This is comment--> <Child attribute1="The value of Attribute 1" /> </root>
A gyökér elem létrehozása:
Az előző leckében megtanultuk hogyan készítsük el a DocumentBuilder objektumot és hozzuk létre az üres DOM dokumentumot. A következő kódrészlet elkészíti az üres dokumentumot.
//Create blank DOM Document Document doc = docBuilder.newDocument();
A createElement funkciót használhatjuk a gyökér elem létrehozására, majd az appendChild metódussal fűzhetjük hozzá a létrehozott elemet a DOM dokumentumhoz.
//create the root element
Element root = doc.createElement("root");
//all it to the xml tree
doc.appendChild(root);
Megjegyzés elem hozzáadása a DOM fához:
A doc.createComment funkcióval készíthetünk megjegyzés objektumot.
//create a comment
Comment comment = doc.createComment("This is comment");
//add in the root element
root.appendChild(comment);
Gyerkmek elem hozzáadása a DOM fához:
A doc.createElement funkcióval készíthetünk gyermek elemet.
//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);
A DOM fa megjelenítése a konzolon a következő kódrészlettel lehetséges:
TransformerFactory tranFactory = TransformerFactory.newInstance(); Transformer aTransformer = tranFactory.newTransformer(); Source src = new DOMSource(doc); Result dest = new StreamResult(System.out); aTransformer.transform(src, dest);
Minta, 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");
//add 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());
}
}
}
A következő fejezetben az XML gyökér objektum megszerzéséről lesz szó.