Comment lire un fichier XML en Java - (analyseur JDOM)

Comment lire un fichier XML en Java - (JDOM Parser)

JDOM est, tout simplement, une représentation Java d'un document XML. JDOM fournit un moyen de représenter ce document pour une lecture, une manipulation et une écriture faciles et efficaces. Il a une API simple, léger et rapide, et est optimisé pour le programmeur Java. C'est une alternative à DOM et SAX, bien qu'il s'intègre bien avec DOM et SAX.

JDOM, l'analyseur XML Java, est plus convivial pour accéder au document XML.

Dans cet exemple, nous vous montrons comment utiliser JDOM pour lire un fichier XML et imprimer chaque élément de manière ordonnée.

1. Téléchargez la bibliothèque JDOM

JDOM n'est pas comme SAX ou DOM, qui sont regroupés dans JDK. Pour utiliser JDOM, vous devez télécharger la bibliothèque manuellement.

Obtenez le JDOM à partir deJDOM official site ou déclare la dépendance suivante si vous utilisez Maven.

    
    jdom
    jdom
    1.1
    

2. Fichier XML

Fichier XML comme suit


    
        yong
        mook kim
        example
        100000
    
    
        low
        yin fong
        fong fong
        200000
    

3. Fichier Java

Utilisez l'analyseur JDOM pour analyser le fichier XML ci-dessus.

import java.io.File;
import java.io.IOException;
import java.util.List;
import org.jdom.Document;
import org.jdom.Element;
import org.jdom.JDOMException;
import org.jdom.input.SAXBuilder;

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

      SAXBuilder builder = new SAXBuilder();
      File xmlFile = new File("c:\\file.xml");

      try {

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

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

           Element node = (Element) list.get(i);

           System.out.println("First Name : " + node.getChildText("firstname"));
           System.out.println("Last Name : " + node.getChildText("lastname"));
           System.out.println("Nick Name : " + node.getChildText("nickname"));
           System.out.println("Salary : " + node.getChildText("salary"));

        }

      } catch (IOException io) {
        System.out.println(io.getMessage());
      } catch (JDOMException jdomex) {
        System.out.println(jdomex.getMessage());
      }
    }
}

Sortie

First Name : yong
Last Name : mook kim
Nick Name : example
Salary : 100000
First Name : low
Last Name : yin fong
Nick Name : fong fong
Salary : 200000

Note
Vous pouvez également consulter les deux exemples suivants: