Maison >Java >javaDidacticiel >Comment puis-je lire et écrire des fichiers XML en Java à l'aide de DOM et de l'API Transformer ?
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 :
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.*;
Créez un générateur de documents :
DocumentBuilderFactory dbf = DocumentBuilderFactory.newInstance(); DocumentBuilder db = dbf.newDocumentBuilder();
Analyser le XML fichier :
Document dom = db.parse(xml);
Obtenir l'élément racine :
Element doc = dom.getDocumentElement();
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 :
Créer un document :
DocumentBuilderFactory dbf = DocumentBuilderFactory.newInstance(); DocumentBuilder db = dbf.newDocumentBuilder(); Document dom = db.newDocument();
Créer l'élément racine :
Element rootEle = dom.createElement("roles");
Ajouter des éléments de données au root :
Element e = dom.createElement("role1"); e.appendChild(dom.createTextNode(role1)); rootEle.appendChild(e);
Ajouter l'élément racine au document :
dom.appendChild(rootEle);
Créer un transformateur :
Transformer tr = TransformerFactory.newInstance().newTransformer();
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");
É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!