JDOM

Un article de Wikipédia, l'encyclopédie libre.
Aller à : navigation, rechercher
JDOM
Développeur Jason Hunter, Brett McLaughlin, et Rolf Lear[1]
Première version le 1 mars 2000, il y a 14 années
Dernière version 2.0.4 (le 8 novembre 2012, il y a 20 mois)
Écrit en Java
Environnement Multiplate-forme
Type XML
Licence Licence Apache
Site web http://jdom.org
JDOM en Lepus3 (en)
Fabriques JDOM en LePUS3

JDOM (acronyme de l'anglais Java Document Object Model), est une bibliothèque open source pour manipulation des fichiers XML en Java. Elle intègre DOM et SAX, et supporte XPath et XSLT. Elle utilise des analyses syntaxiques externes pour construire les documents.

Exemples[modifier | modifier le code]

Soit le fichier "magasin.xml" :

<magasin nom="magasin pour geeks" localisation="Tokyo, Japon">
  <ordinateur nom="iBook" prix="1200" />
  <manga nom="Dragon Ball vol 1" prix="9" />
</magasin>

Il est possible de parser le document en un arbre d'objets Java avec JDOM :

import java.io.*;
import org.jdom.*;
import org.jdom.input.*;
import org.jdom.output.*;
 
SAXBuilder builder = new SAXBuilder();
Document doc = builder.build(new FileInputStream("magasin.xml"));
Element root = doc.getRootElement();
System.out.println(root.getName()); // renvoie "magasin"
System.out.println(root.getAttributeValue("nom")); //  "magasin pour geeks"
System.out.println(root.getAttributeValue("localisation")); //  "Tokyo, Japon"
System.out.println(root.getChildren()); // java.util.List de trois objets

Pour créer l'objet document sans fichier ni données en entrée :

Element root = new Element("magasin"); // définit la racine comme : <magasin></magasin>
Document doc = new Document(root);

Réciproquement, on peut construire un arbre d'éléments générant un fichier XML :

Element root = new Element("magasin");
root.setAttribute("nom", "magasin pour geeks");
root.setAttribute("localisation", "Tokyo, Japon");
Element item1 = new Element("ordinateur");
item1.setAttribute("nom", "iBook");
item1.setAttribute("prix", "1200");
root.addContent(item1);
XMLOutputter outputter = new XMLOutputter();
outputter.output(new Document(root), new FileOutputStream ("magasin2.xml"));
// crée la même chose que magasin.xml à partir du Java

Notes et références[modifier | modifier le code]

Liens externes[modifier | modifier le code]

Sur les autres projets Wikimedia :