/***** 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("Vous pouvez ajouter <, >, et ?"); 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
<?xml version="1.0" encoding="windows-1252"?> <!-- Edited by MesEXemple.com --> <note> <to>Sakoba</to> <from>Adams</from> <heading>Rappel</heading> <body>Ne m'oubliez pas ce week-end!</body> </note> |
Cet article Java XML: Créer un document XML avec des nœuds, éléments, attributs et commentaires est apparu en premier sur .