devstory

Le Tutoriel de Java JDOM2

  1. Introduction
  2. La bibliothèque
  3. Commencer un exemple
  4. La comparaison de quelques différences entre JDOM et DOM

1. Introduction

JDOMest un modèle XML sur le mémoire (memory) qui peut être utilisé pour lire, écrire et modifier des document XLM. JDOM est similaire à DOM en le sens qu'ils fournissent tous les deux un modèle de document XLM en mémoire.
DOM est conçu pour fonctionner de la même manière dans plusieurs langages (C, C + +, ECMAScript , Java , JScript , Lingo , PHP, PLSQL , et Python) .
  • JDOM est conçu uniquement pour Java et utilise des fonctionnalités spécifiques de Java que le modèle DOM évite. Pour cette raison, JDOM ne suit pas volontairement la norme DOM w3c. JDOM n'est pas un analysateur XML (XML Parser) mais il peut utiliser un SAX, Stax ou un analysateur DOM pour construire le document JDOM. La version JDOM depuis 2.0.0 ( JDOM2 ) utilise toutes les fonctionnalités de langage natif de Java 6 et plus tard comme Generics, Enums, var-args, des types de retours co- variant, etc.

2. La bibliothèque

Contrairement à DOM qui est disponible dans JDK. Avec JDOM vous devez la télécharger avant l'utiliser:
Vous pouvez télécharger la bibliothèque JDOM à la page d'accueil:
Ou simplement télécharger à partir de Maven Repository (le répertoire maven):

3. Commencer un exemple

C'est l'image après l'achèvement du projet:
department-datas.xml
<?xml version="1.0"?>
<department>

  <employee>
      <empNo>E01</empNo>
      <empName>KING</empName>
      <hireDate>17-11-1981</hireDate>
      <salary>100000</salary>
  </employee>

  <employee>
      <empNo>E02</empNo>
      <empName>JONES</empName>
      <hireDate>02-04-1981</hireDate>
      <salary>200000</salary>
  </employee>

</department>
ReadXMLFile.java
package org.o7planning.tutorial.jdom2;

import java.io.File;
import java.io.IOException;
import java.util.List;

import org.jdom2.Document;
import org.jdom2.Element;
import org.jdom2.JDOMException;
import org.jdom2.input.SAXBuilder;

public class ReadXMLFile {
   public static void main(String[] args) {

       SAXBuilder builder = new SAXBuilder();
       File xmlFile = new File("department-datas.xml");
       
       System.out.println("Parsing FILE: "+ xmlFile.getAbsolutePath());

       try {

           Document document = (Document) builder.build(xmlFile);
           Element rootNode = document.getRootElement();
           List<Element> list = rootNode.getChildren("employee");

           for (int i = 0; i < list.size(); i++) {

               Element node = (Element) list.get(i);
               
               System.out.println(" ------ ");
               
               System.out.println("Emp No : " + node.getChildText("empNo"));
               
               System.out.println("Emp Name : " + node.getChildText("empName"));
               
               System.out.println("Hire Date : " + node.getChildText("hireDate"));
               
               System.out.println("Salary : " + node.getChildText("salary"));

           }

       } catch (IOException e) {
           System.out.println(e.getMessage());
       } catch (JDOMException e) {
           System.out.println(e.getMessage());
       }
   }
}
Des résultats après l'exécution la classe ReadXMLFile:

4. La comparaison de quelques différences entre JDOM et DOM

TODO