DOM Parser: Comment créer un fichier XML en java

Dans ce tutoriel, on vous montre comment utiliser DOM Parser pour créer un fichier XML.

DOM Parser possède plusieurs classes pour créer un fichier XML. Premièrement, vous devez créer un Document avec la classe DocumentBuilder, définir le contenu XML, nœud, attribut avec la classe Element. Finalement, vous devez utiliser la classe Transformer pour faire passer le contenu XML dans le flux de sortie.

A la fin, le fichier suivant nommé exemple.xml doit être créé:

<?xml version="1.0" encoding="UTF-8" standalone="no" ?>
<repertoire>
<contact id="1">
<nom>codeur</nom>
<prenom>java</prenom>
<mobile>098745126</mobile>
<email>codeurjava8@gmail.com</email>
</contact>
</repertoire>
La classe qui crée un fichier XML:

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 CréerXML{

public static void main(String argv[]) {

try {

DocumentBuilderFactory dbFactory = DocumentBuilderFactory.newInstance();
DocumentBuilder docBuilder = dbFactory.newDocumentBuilder();

// élément de racine
Document doc = docBuilder.newDocument();
Element racine = doc.createElement("repertoire");
doc.appendChild(racine);

// l'élément contact
Element contact = doc.createElement("contact");
racine.appendChild(contact);

// attributs de l'élément contact
Attr attr = doc.createAttribute("id");
attr.setValue("1");
contact.setAttributeNode(attr);

// le nom
Element nom = doc.createElement("nom");
nom.appendChild(doc.createTextNode("codeur"));
contact.appendChild(nom);

// le prénom
Element prenom = doc.createElement("prenom");
prenom.appendChild(doc.createTextNode("java"));
contact.appendChild(prenom);

// le mobile
Element mobile = doc.createElement("mobile");
mobile.appendChild(doc.createTextNode("098745126"));
contact.appendChild(mobile);

// l'email
Element email = doc.createElement("email");
email.appendChild(doc.createTextNode("codeurjava8@gmail.com"));
contact.appendChild(email);

// write the content into xml file
TransformerFactory transformerFactory = TransformerFactory.newInstance();
Transformer transformer = transformerFactory.newTransformer();
DOMSource source = new DOMSource(doc);
StreamResult resultat = new StreamResult(new File("monFichier.xml"));

transformer.transform(source, resultat);

System.out.println("Fichier sauvegardé avec succès!");

} catch (ParserConfigurationException pce) {
pce.printStackTrace();
} catch (TransformerException tfe) {
tfe.printStackTrace();
}
}
}
Sortie:

Fichier sauvegardé avec succès!
Un nouveau fichier monFichier.xml a été créé dans le répertoire courant, avec un codage par défaut UTF-8.

comment créer un fichier xml en java

Vous pouvez créer l'attribut avec sa valeur directement:

attr.setValue("1");
contact.setAttributeNode(attr);
équivalent à:

contact.setAttribute("id", "1");