Maison >Java >javaDidacticiel >Comment puis-je lire et écrire des fichiers XML en Java à l'aide de DOM et de l'API Transformer ?

Comment puis-je lire et écrire des fichiers XML en Java à l'aide de DOM et de l'API Transformer ?

Patricia Arquette
Patricia Arquetteoriginal
2024-11-30 10:28:19390parcourir

How Can I Read and Write XML Files in Java Using DOM and Transformer API?

Lecture et écriture de fichiers XML : guide du débutant

XML joue un rôle essentiel dans l'échange et le stockage de données. Pour gérer efficacement les fichiers XML, il est essentiel de comprendre comment les lire et les écrire à l'aide de Java. Ce guide vous guidera tout au long du processus étape par étape.

Lecture de fichiers XML

Pour lire un fichier XML, nous utiliserons le modèle objet de document (DOM). . DOM fournit une structure arborescente représentant le document XML. Voici comment procéder :

  1. Importez les bibliothèques nécessaires :

    import javax.xml.parsers.*;
    import javax.xml.transform.*;
    import javax.xml.transform.dom.*;
    import javax.xml.transform.stream.*;
    import org.xml.sax.*;
    import org.w3c.dom.*;
  2. Créez un générateur de documents :

    DocumentBuilderFactory dbf = DocumentBuilderFactory.newInstance();
    DocumentBuilder db = dbf.newDocumentBuilder();
  3. Analyser le XML fichier :

    Document dom = db.parse(xml);
  4. Obtenir l'élément racine :

    Element doc = dom.getDocumentElement();
  5. Extraire les données des éléments :
    Le code suivant récupère la valeur texte de l'élément "role1" en tant que exemple :

    String role1 = getTextValue(doc.getElementsByTagName("role1"));

Écrire des fichiers XML

Pour écrire un fichier XML, nous utiliserons l'API Transformer. Voici comment :

  1. Créer un document :

    DocumentBuilderFactory dbf = DocumentBuilderFactory.newInstance();
    DocumentBuilder db = dbf.newDocumentBuilder();
    Document dom = db.newDocument();
  2. Créer l'élément racine :

    Element rootEle = dom.createElement("roles");
  3. Ajouter des éléments de données au root :

    Element e = dom.createElement("role1");
    e.appendChild(dom.createTextNode(role1));
    rootEle.appendChild(e);
  4. Ajouter l'élément racine au document :

    dom.appendChild(rootEle);
  5. Créer un transformateur :

    Transformer tr = TransformerFactory.newInstance().newTransformer();
  6. Définir la sortie propriétés :

    tr.setOutputProperty(OutputKeys.INDENT, "yes");
    tr.setOutputProperty(OutputKeys.METHOD, "xml");
    tr.setOutputProperty(OutputKeys.ENCODING, "UTF-8");
    tr.setOutputProperty(OutputKeys.DOCTYPE_SYSTEM, "roles.dtd");
  7. Écrivez le DOM dans un fichier :

    tr.transform(new DOMSource(dom), new StreamResult(new FileOutputStream(xml)));

Méthode d'assistance

Nous utilisons cette méthode d'assistance pour extraire les valeurs de texte de XML éléments :

private String getTextValue(NodeList nl) {
    String value = null;
    if (nl.getLength() > 0 && nl.item(0).hasChildNodes()) {
        value = nl.item(0).getFirstChild().getNodeValue();
    }
    return value;
}

Conclusion

Ce guide a fourni un aperçu complet de la lecture et de l'écriture de fichiers XML en Java à l'aide du DOM et de l'API Transformer. N'oubliez pas d'implémenter des accesseurs et des mutateurs pour interagir efficacement avec les données.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn