Java Language Lecture d'un fichier XML (désarchivage)


Exemple

Pour lire un fichier XML nommé UserDetails.xml avec le contenu ci-dessous

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<user>
    <name>Jon Skeet</name>
    <userID>8884321</userID>
</user>

Nous avons besoin d'une classe POJO nommée User.java comme ci-dessous

import javax.xml.bind.annotation.XmlRootElement;

@XmlRootElement
public class User {

    private long userID;
    private String name;

    // getters and setters
}

Ici, nous avons créé les variables et le nom de la classe en fonction des nœuds XML. Pour les mapper, nous utilisons l'annotation XmlRootElement sur la classe.

public class XMLReader {
    public static void main(String[] args) {
        try {
            User user = JAXB.unmarshal(new File("UserDetails.xml"), User.class);
            System.out.println(user.getName());   // prints Jon Skeet
            System.out.println(user.getUserID()); // prints 8884321
        } catch (Exception e) {
            System.err.println("Exception occurred while reading the XML!");
        }
    }
}

Ici, la méthode unmarshal() est utilisée pour analyser le fichier XML. Il prend le nom de fichier XML et le type de classe comme deux arguments. Ensuite, nous pouvons utiliser les méthodes getter de l'objet pour imprimer les données.