Java XML: Créer un document XML avec des nœuds, éléments, attributs et commentaires

Author:

Java XML: Créer un document XML avec des nœuds, éléments, attributs et commentaires
{filelink=8387}

/***** Code de MesExemples.com *******/
/**
 * @(#)CreerDocXML.java
 *
 *
 * @author 
 *sakoba(java.mesexemples.com) @version 1.00 2013/7/4
 */
 

       
import java.io.FileOutputStream;
import java.io.IOException;

import javax.xml.parsers.DocumentBuilder;
import javax.xml.parsers.DocumentBuilderFactory;
import javax.xml.parsers.ParserConfigurationException;
import javax.xml.transform.Result;
import javax.xml.transform.Source;
import javax.xml.transform.Transformer;
import javax.xml.transform.TransformerException;
import javax.xml.transform.TransformerFactory;
import javax.xml.transform.TransformerFactoryConfigurationError;
import javax.xml.transform.dom.DOMSource;
import javax.xml.transform.stream.StreamResult;

import org.w3c.dom.Attr;
import org.w3c.dom.CDATASection;
import org.w3c.dom.Comment;
import org.w3c.dom.Document;
import org.w3c.dom.Element;
import org.w3c.dom.Node;
import org.w3c.dom.ProcessingInstruction;

public class CreerDocXML {
  private Document document;

  public CreerDocXML() {
    DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance();
    try {
      DocumentBuilder builder = factory.newDocumentBuilder();
      document = builder.newDocument();
    }catch (ParserConfigurationException parserException) {
      parserException.printStackTrace();
    }

    Element root = document.createElement("root");
    document.appendChild(root);

    // Ajouter un commentaire
    Comment myComment = document.createComment("Ceci est une liste des Notes");
    root.appendChild(myComment);

    
    // Ajouter un élément fils
    Node noteNode = createnoteNode(document);
    root.appendChild(noteNode);

    // Ajouter une instruction de traitement
    ProcessingInstruction pi = 
    document.createProcessingInstruction("myInstruction",
        "n'importe quoi");
    root.appendChild(pi);

    // Section CData
    CDATASection cdata = document.createCDATASection("I can add <, >, and ?");
    root.appendChild(cdata);

    // Créer le document physiquement
    try {

      // Créer un objet DOMSource pour le document
      Source xmlSource = new DOMSource(document);

      // Créer un Objet pour transformer le résultat
      Result result = new StreamResult(new 
    FileOutputStream("ExempleDocument.xml"));

      // Créer un objet TransformerFactory
      TransformerFactory transformerFactory = TransformerFactory.newInstance();

      // créer un objet Transformer
      Transformer transformer = transformerFactory.newTransformer();
      // Définir une propriété de sortie
      transformer.setOutputProperty("indent", "yes");

      // Transformer le contenu
      transformer.transform(xmlSource, result);
    }

    // GEstion des exceptions
    catch (TransformerFactoryConfigurationError factoryError) {
      System.err.println("Erreur " + "TransformerFactory");
      factoryError.printStackTrace();
    }catch (TransformerException transformerError) {
      System.err.println("Erreur"+ " transforming document");
      transformerError.printStackTrace();
    }    catch (IOException ioException) {
      ioException.printStackTrace();
    }
  }

  public Node createnoteNode(Document document) {

    // Créer trois éléments et leurs textes
    Element nom = document.createElement("nom");
    Element prenom = document.createElement("prenom");
    Element point = document.createElement("note");

    nom.appendChild(document.createTextNode("Nom"));
    prenom.appendChild(document.createTextNode("Prénom"));
    point.appendChild(document.createTextNode("Point"));

    // Créer l'élément Note
    Element note = document.createElement("note");

    // Créer un atribut
    Attr appreciationAttribute = document.createAttribute("appreciation");
    appreciationAttribute.setValue("Bien");

    // Ajouter l'attribut à l'élément note
    note.setAttributeNode(appreciationAttribute);
    note.appendChild(nom);
    note.appendChild(prenom);
    note.appendChild(point);

    return note;
  }

  public static void main(String args[]) {
    CreerDocXML CreerDocXML = new CreerDocXML();
  }
}

Code testé avec le fichier XML Suivant




	Sakoba
	Adams
	Rappel
	Ne m'oubliez pas ce week-end!

A Voir sur le même Sujet:

  • commentaire xml java
  • creer xml en java
  • créer un fichier xml avec attributs
  • ajouter un element dans la base de donne xml
  • créer un fichier xml java
  • creer document root element dom
  • céer pdf avec attribut

Leave a Reply

Your email address will not be published. Required fields are marked *