Comment créer un fichier XML en Java - (DOM Parser)
DOM fournit de nombreuses classes pratiques pour créer facilement un fichier XML. Tout d'abord, vous devez créer un document avec la classeDocumentBuilder, définir tout le contenu XML - nœud, attribut avec la classeElement. Enfin, utilisez la classeTransformer pour afficher l'intégralité du contenu XML vers la sortie de flux, généralement un fichier.
Dans ce didacticiel, nous vous montrons comment utiliser l'analyseur DOM XML pour créer un fichier XML.
Exemple d'analyseur DOM
À la fin de l'exemple, le fichier XML suivant nommé «file.xml» sera créé.
yong mook kim example 100000
File : WriteXMLFile.java - Classe Java pour créer un fichier XML.
package com.example.core; import java.io.File; import javax.xml.parsers.DocumentBuilder; import javax.xml.parsers.DocumentBuilderFactory; import javax.xml.parsers.ParserConfigurationException; import javax.xml.transform.Transformer; import javax.xml.transform.TransformerException; import javax.xml.transform.TransformerFactory; import javax.xml.transform.dom.DOMSource; import javax.xml.transform.stream.StreamResult; import org.w3c.dom.Attr; import org.w3c.dom.Document; import org.w3c.dom.Element; public class WriteXMLFile { public static void main(String argv[]) { try { DocumentBuilderFactory docFactory = DocumentBuilderFactory.newInstance(); DocumentBuilder docBuilder = docFactory.newDocumentBuilder(); // root elements Document doc = docBuilder.newDocument(); Element rootElement = doc.createElement("company"); doc.appendChild(rootElement); // staff elements Element staff = doc.createElement("Staff"); rootElement.appendChild(staff); // set attribute to staff element Attr attr = doc.createAttribute("id"); attr.setValue("1"); staff.setAttributeNode(attr); // shorten way // staff.setAttribute("id", "1"); // firstname elements Element firstname = doc.createElement("firstname"); firstname.appendChild(doc.createTextNode("yong")); staff.appendChild(firstname); // lastname elements Element lastname = doc.createElement("lastname"); lastname.appendChild(doc.createTextNode("mook kim")); staff.appendChild(lastname); // nickname elements Element nickname = doc.createElement("nickname"); nickname.appendChild(doc.createTextNode("example")); staff.appendChild(nickname); // salary elements Element salary = doc.createElement("salary"); salary.appendChild(doc.createTextNode("100000")); staff.appendChild(salary); // write the content into xml file TransformerFactory transformerFactory = TransformerFactory.newInstance(); Transformer transformer = transformerFactory.newTransformer(); DOMSource source = new DOMSource(doc); StreamResult result = new StreamResult(new File("C:\\file.xml")); // Output to console for testing // StreamResult result = new StreamResult(System.out); transformer.transform(source, result); System.out.println("File saved!"); } catch (ParserConfigurationException pce) { pce.printStackTrace(); } catch (TransformerException tfe) { tfe.printStackTrace(); } } }
Un nouveau fichier XML est créé en «C:\file.xml», avec le codage UTF-8 par défaut.
Note
Pour le débogage, vous pouvez modifier lesStreamResult pour afficher le contenu XML sur votre console.
StreamResult result = new StreamResult(System.out); transformer.transform(source, result);