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");


Partager cet article

Voir aussi: