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
Libérer: 2024-11-30 10:28:19
original
389 Les gens l'ont consulté

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.*;
    Copier après la connexion
  2. Créez un générateur de documents :

    DocumentBuilderFactory dbf = DocumentBuilderFactory.newInstance();
    DocumentBuilder db = dbf.newDocumentBuilder();
    Copier après la connexion
  3. Analyser le XML fichier :

    Document dom = db.parse(xml);
    Copier après la connexion
  4. Obtenir l'élément racine :

    Element doc = dom.getDocumentElement();
    Copier après la connexion
  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"));
    Copier après la connexion

É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();
    Copier après la connexion
  2. Créer l'élément racine :

    Element rootEle = dom.createElement("roles");
    Copier après la connexion
  3. Ajouter des éléments de données au root :

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

    dom.appendChild(rootEle);
    Copier après la connexion
  5. Créer un transformateur :

    Transformer tr = TransformerFactory.newInstance().newTransformer();
    Copier après la connexion
  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");
    Copier après la connexion
  7. Écrivez le DOM dans un fichier :

    tr.transform(new DOMSource(dom), new StreamResult(new FileOutputStream(xml)));
    Copier après la connexion

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;
}
Copier après la connexion

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!

source:php.cn
Déclaration de ce site Web
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
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal