


JDOM fournit une très excellente API Java XML pour lire, modifier et générer plus facilement des documents XML. JDOM fournit également des classes wrapper permettant aux utilisateurs de choisir des implémentations spécifiques parmi SAX, DOM, l'analyse d'événements STAX et l'analyse de flux STAX.
Dans ce tutoriel, nous apprenons à utiliser JDOM pour lire les informations d'un fichier XML et les convertir en objets Java.
JDOM ne fait pas partie du JDK standard, donc pour utiliser JDOM, vous devez télécharger le package binaire JDOM depuis le site officiel. Après le téléchargement, ajoutez le package JDOM Jar au chemin de classe du projet.
JDOM fournit une classe wrapper nous permettant de choisir l'API d'analyse XML sous-jacente. Il fournit quatre classes importantes que nous pouvons utiliser pour obtenir l'objet Document JDOM. L'objet Document JDOM fournit des méthodes très utiles pour obtenir l'élément racine, la liste des éléments enfants, les valeurs d'attribut, etc.
Classes importantes de JDOM : org.jdom2.input.DOMBuilder:
Utilisez le mécanisme d'analyse DOM pour analyser le XML et le convertir en un objet Document JDOM. org.jdom2.input.SAXBuilder:
Utilisez le mécanisme d'analyse SAX pour analyser le XML et le convertir en document JDOM. Les fonctions de org.jdom2.input.StAXEventBuilder
et org.jdom2.input.StAXStreamBuilder
sont similaires aux deux précédentes et ne seront pas décrites à nouveau. org.jdom2.Document
L'objet JDOM Document fournit des méthodes utiles pour obtenir l'élément racine, lire ou modifier le contenu de l'élément, etc. Nous l'utiliserons pour obtenir l'élément racine de XML. org.jdom2.Document
fournit des méthodes utiles pour obtenir la collection d'éléments enfants, obtenir la valeur de l'élément enfant, obtenir la valeur de l'attribut et d'autres opérations.
Ensuite, nous commençons à utiliser le programme case pour lire le fichier XML et générer des objets Java.
employees.xml
<?xml version="1.0" encoding="UTF-8"?><Employees> <Employee id="1"> <age>29</age> <name>Pankaj</name> <gender>Male</gender> <role>Java Developer</role> </Employee> <Employee id="2"> <age>35</age> <name>Lisa</name> <gender>Female</gender> <role>CEO</role> </Employee> <Employee id="3"> <age>40</age> <name>Tom</name> <gender>Male</gender> <role>Manager</role> </Employee></Employees>
Ce fichier XML stocke les informations sur les employés. Nous utilisons la classe Employee pour représenter les employés.
package com.journaldev.xml;public class Employee { private int id; private String name; private String gender; private int age; private String role; public int getId() { return id; } public void setId(int id) { this.id = id; } public String getName() { return name; } public void setName(String name) { this.name = name; } public String getGender() { return gender; } public void setGender(String gender) { this.gender = gender; } public int getAge() { return age; } public void setAge(int age) { this.age = age; } public String getRole() { return role; } public void setRole(String role) { this.role = role; } @Override public String toString() { return "Employee:: ID="+this.id+" Name=" + this.name + " Age=" + this.age + " Gender=" + this.gender + " Role=" + this.role; } }
Utilisez ensuite DOMBuilder dans le programme de test pour lire le fichier XML et générer une collection d'objets Employee.
JDOMXMLReader.java
package com.journaldev.xml.jdom; import java.io.File; import java.io.FileInputStream; import java.io.FileNotFoundException; import java.io.IOException; import java.util.ArrayList; import java.util.List; import javax.xml.parsers.DocumentBuilder; import javax.xml.parsers.DocumentBuilderFactory; import javax.xml.parsers.ParserConfigurationException; import javax.xml.stream.XMLEventReader; import javax.xml.stream.XMLInputFactory; import javax.xml.stream.XMLStreamException; import javax.xml.stream.XMLStreamReader; import org.jdom2.Element; import org.jdom2.JDOMException; import org.jdom2.input.DOMBuilder; import org.jdom2.input.SAXBuilder; import org.jdom2.input.StAXEventBuilder; import org.jdom2.input.StAXStreamBuilder; import org.w3c.dom.Document; import org.xml.sax.SAXException; import com.journaldev.xml.Employee; public class JDOMXMLReader { public static void main(String[] args) { final String fileName = "/Users/pankaj/employees.xml"; org.jdom2.Document jdomDoc; try { //we can create JDOM Document from DOM, SAX and STAX Parser Builder classes jdomDoc = useDOMParser(fileName); Element root = jdomDoc.getRootElement(); List<Element> empListElements = root.getChildren("Employee"); List<Employee> empList = new ArrayList<>(); for (Element empElement : empListElements) { Employee emp = new Employee(); emp.setId(Integer.parseInt(empElement.getAttributeValue("id"))); emp.setAge(Integer.parseInt(empElement.getChildText("age"))); emp.setName(empElement.getChildText("name")); emp.setRole(empElement.getChildText("role")); emp.setGender(empElement.getChildText("gender")); empList.add(emp); } //lets print Employees list information for (Employee emp : empList) System.out.println(emp); } catch (Exception e) { e.printStackTrace(); } } //Get JDOM document from DOM Parser private static org.jdom2.Document useDOMParser(String fileName) throws ParserConfigurationException, SAXException, IOException { //creating DOM Document DocumentBuilderFactory dbFactory = DocumentBuilderFactory.newInstance(); DocumentBuilder dBuilder; dBuilder = dbFactory.newDocumentBuilder(); Document doc = dBuilder.parse(new File(fileName)); DOMBuilder domBuilder = new DOMBuilder(); return domBuilder.build(doc); } }
Comme vous pouvez le voir, j'utilise ici la classe wrapper d'analyse DOM pour obtenir l'objet Document JDOM.
Exécutez la sortie du programme :
Employee:: ID=1 Name=Pankaj Age=29 Gender=Male Role=Java DeveloperEmployee:: ID=2 Name=Lisa Age=35 Gender=Female Role=CEOEmployee:: ID=3 Name=Tom Age=40 Gender=Male Role=Manager
Nous pouvons également utiliser les mécanismes d'analyse SAX et STAX pour terminer. Nous pouvons utiliser la méthode suivante pour terminer :
/Get JDOM document from SAX Parserprivate static org.jdom2.Document useSAXParser(String fileName) throws JDOMException, IOException { SAXBuilder saxBuilder = new SAXBuilder(); return saxBuilder.build(new File(fileName)); } //Get JDOM Document from STAX Stream Parser or STAX Event Parserprivate static org.jdom2. Document useSTAXParser(String fileName, String type) throws FileNotFoundException, XMLStreamException, JDOMException{ if(type.equalsIgnoreCase("stream")){ StAXStreamBuilder staxBuilder = new StAXStreamBuilder(); XMLInputFactory xmlInputFactory = XMLInputFactory.newInstance(); XMLStreamReader xmlStreamReader = xmlInputFactory.createXMLStreamReader(new FileInputStream(fileName)); return staxBuilder.build(xmlStreamReader); } StAXEventBuilder staxBuilder = new StAXEventBuilder(); XMLInputFactory xmlInputFactory = XMLInputFactory.newInstance(); XMLEventReader xmlEventReader = xmlInputFactory.createXMLEventReader(new FileInputStream(fileName)); return staxBuilder.build(xmlEventReader); }
Exécuter le. le programme obtiendra le même résultat. Le résultat est dû au fait que nous utilisons simplement des classes wrapper différentes, mais les objets du document JDOM obtenus sont les mêmes.
L'avantage d'utiliser JDOM est que nous pouvons facilement changer le mécanisme d'analyse sous-jacent sans changer le code de traitement.
JDOM fournit une très excellente API Java XML pour lire, modifier et générer plus facilement des documents XML. JDOM fournit également des classes wrapper permettant aux utilisateurs de choisir des implémentations spécifiques parmi SAX, DOM, l'analyse d'événements STAX et l'analyse de flux STAX.
Dans ce tutoriel, nous apprenons à utiliser JDOM pour lire les informations d'un fichier XML et les convertir en objets Java.
JDOM ne fait pas partie du JDK standard, donc pour utiliser JDOM, vous devez télécharger le package binaire JDOM depuis le site officiel. Après le téléchargement, ajoutez le package JDOM Jar au chemin de classe du projet.
JDOM fournit une classe wrapper nous permettant de choisir l'API d'analyse XML sous-jacente. Il fournit quatre classes importantes que nous pouvons utiliser pour obtenir l'objet Document JDOM. L'objet Document JDOM fournit des méthodes très utiles pour obtenir l'élément racine, la liste des éléments enfants, les valeurs d'attribut, etc.
Classes importantes de JDOM : org.jdom2.input.DOMBuilder:
Utilisez le mécanisme d'analyse DOM pour analyser le XML et le convertir en un objet Document JDOM. org.jdom2.input.SAXBuilder:
Utilisez le mécanisme d'analyse SAX pour analyser le XML et le convertir en document JDOM. Les fonctions de org.jdom2.input.StAXEventBuilder
et org.jdom2.input.StAXStreamBuilder
sont similaires aux deux précédentes et ne seront pas décrites à nouveau. org.jdom2.Document
L'objet JDOM Document fournit des méthodes utiles pour obtenir l'élément racine, lire ou modifier le contenu de l'élément, etc. Nous l'utiliserons pour obtenir l'élément racine de XML. org.jdom2.Document
fournit des méthodes utiles pour obtenir la collection d'éléments enfants, obtenir la valeur de l'élément enfant, obtenir la valeur de l'attribut et d'autres opérations.
Ensuite, nous commençons à utiliser le programme case pour lire le fichier XML et générer des objets Java.
employees.xml
<?xml version="1.0" encoding="UTF-8"?><Employees> <Employee id="1"> <age>29</age> <name>Pankaj</name> <gender>Male</gender> <role>Java Developer</role> </Employee> <Employee id="2"> <age>35</age> <name>Lisa</name> <gender>Female</gender> <role>CEO</role> </Employee> <Employee id="3"> <age>40</age> <name>Tom</name> <gender>Male</gender> <role>Manager</role> </Employee></Employees>
Ce fichier XML stocke les informations sur les employés. Nous utilisons la classe Employee pour représenter les employés.
package com.journaldev.xml; public class Employee { private int id; private String name; private String gender; private int age; private String role; public int getId() { return id; } public void setId(int id) { this.id = id; } public String getName() { return name; } public void setName(String name) { this.name = name; } public String getGender() { return gender; } public void setGender(String gender) { this.gender = gender; } public int getAge() { return age; } public void setAge(int age) { this.age = age; } public String getRole() { return role; } public void setRole(String role) { this.role = role; } @Override public String toString() { return "Employee:: ID="+this.id+" Name=" + this.name + " Age=" + this.age + " Gender=" + this.gender + " Role=" + this.role; } }
Utilisez ensuite DOMBuilder dans le programme de test pour lire le fichier XML et générer une collection d'objets Employee.
JDOMXMLReader.java
package com.journaldev.xml.jdom; import java.io.File; import java.io.FileInputStream; import java.io.FileNotFoundException; import java.io.IOException;import java.util.ArrayList; import java.util.List; import javax.xml.parsers.DocumentBuilder; import javax.xml.parsers.DocumentBuilderFactory; import javax.xml.parsers.ParserConfigurationException; import javax.xml.stream.XMLEventReader; import javax.xml.stream.XMLInputFactory; import javax.xml.stream.XMLStreamException; import javax.xml.stream.XMLStreamReader; import org.jdom2.Element;import org.jdom2.JDOMException; import org.jdom2.input.DOMBuilder; import org.jdom2.input.SAXBuilder; import org.jdom2.input.StAXEventBuilder; import org.jdom2.input.StAXStreamBuilder; import org.w3c.dom.Document; import org.xml.sax.SAXException; import com.journaldev.xml.Employee; public class JDOMXMLReader { public static void main(String[] args) { final String fileName = "/Users/pankaj/employees.xml"; org.jdom2.Document jdomDoc; try { //we can create JDOM Document from DOM, SAX and STAX Parser Builder classes jdomDoc = useDOMParser(fileName); Element root = jdomDoc.getRootElement(); List<Element> empListElements = root.getChildren("Employee"); List<Employee> empList = new ArrayList<>(); for (Element empElement : empListElements) { Employee emp = new Employee(); emp.setId(Integer.parseInt(empElement.getAttributeValue("id"))); emp.setAge(Integer.parseInt(empElement.getChildText("age"))); emp.setName(empElement.getChildText("name")); emp.setRole(empElement.getChildText("role")); emp.setGender(empElement.getChildText("gender")); empList.add(emp); } //lets print Employees list information for (Employee emp : empList) System.out.println(emp); } catch (Exception e) { e.printStackTrace(); } } //Get JDOM document from DOM Parser private static org.jdom2.Document useDOMParser(String fileName) throws ParserConfigurationException, SAXException, IOException { //creating DOM Document DocumentBuilderFactory dbFactory = DocumentBuilderFactory.newInstance(); DocumentBuilder dBuilder; dBuilder = dbFactory.newDocumentBuilder(); Document doc = dBuilder.parse(new File(fileName)); DOMBuilder domBuilder = new DOMBuilder(); return domBuilder.build(doc); } }
Comme vous pouvez le voir, j'utilise ici la classe wrapper d'analyse DOM pour obtenir l'objet Document JDOM.
Exécutez la sortie du programme :
Employee:: ID=1 Name=Pankaj Age=29 Gender=Male Role=Java DeveloperEmployee:: ID=2 Name=Lisa Age=35 Gender=Female Role=CEOEmployee:: ID=3 Name=Tom Age=40 Gender=Male Role=Manager
Nous pouvons également utiliser les mécanismes d'analyse SAX et STAX pour terminer. Nous pouvons utiliser la méthode suivante pour terminer :
/Get JDOM document from SAX Parserprivate static org.jdom2.Document useSAXParser(String fileName) throws JDOMException, IOException { SAXBuilder saxBuilder = new SAXBuilder(); return saxBuilder.build(new File(fileName)); } //Get JDOM Document from STAX Stream Parser or STAX Event Parserprivate static org.jdom2.Document useSTAXParser(String fileName, String type) throws FileNotFoundException, XMLStreamException, JDOMException{ if(type.equalsIgnoreCase("stream")){ StAXStreamBuilder staxBuilder = new StAXStreamBuilder(); XMLInputFactory xmlInputFactory = XMLInputFactory.newInstance(); XMLStreamReader xmlStreamReader = xmlInputFactory.createXMLStreamReader(new FileInputStream(fileName)); return staxBuilder.build(xmlStreamReader); } StAXEventBuilder staxBuilder = new StAXEventBuilder(); XMLInputFactory xmlInputFactory = XMLInputFactory.newInstance(); XMLEventReader xmlEventReader = xmlInputFactory.createXMLEventReader(new FileInputStream(fileName)); return staxBuilder.build(xmlEventReader); }
Exécuter le. le programme obtiendra le même résultat. Le résultat est dû au fait que nous utilisons simplement des classes wrapper différentes, mais les objets du document JDOM obtenus sont les mêmes.
L'avantage d'utiliser JDOM est que nous pouvons facilement changer le mécanisme d'analyse sous-jacent sans changer le code de traitement.
Ce qui précède est le contenu du didacticiel Java&Xml (6) utilisant JDOM pour analyser les fichiers XML. Pour plus de contenu connexe, veuillez faire attention au site Web PHP chinois (www.php.cn) !

RSS et XML sont des outils pour la gestion du contenu Web. RSS est utilisé pour publier et s'abonner au contenu, et XML est utilisé pour stocker et transférer des données. Ils travaillent avec la publication de contenu, les abonnements et la mise à jour push. Des exemples d'utilisation comprennent les articles de blog RSS Publishing et le stockage des informations sur le livre.

Les documents RSS sont des fichiers structurés basés sur XML utilisés pour publier et s'abonner au contenu fréquemment mis à jour. Ses principales fonctions comprennent: 1) les mises à jour automatisées de contenu, 2) l'agrégation de contenu et 3) l'amélioration de l'efficacité de navigation. Grâce à RSSFeed, les utilisateurs peuvent s'abonner et obtenir les dernières informations de différentes sources en temps opportun.

La structure XML de RSS comprend: 1. Déclaration XML et version RSS, 2. Channel (canal), 3. Élément. Ces pièces constituent la base des fichiers RSS, permettant aux utilisateurs d'obtenir et de traiter les informations de contenu en analysant les données XML.

RSSFeedsUsexmlTosyNDicateContent; ParsingTheminVolvesloadingXml, NavigationItsStructure, andextractingData.Applications, il ye

Les documents RSS fonctionnent en publiant des mises à jour de contenu via des fichiers XML, et les utilisateurs s'abonnent et reçoivent des notifications via des lecteurs RSS. 1. Content Publisher Crée et met à jour les documents RSS. 2. Le lecteur RSS accède et analyse régulièrement les fichiers XML. 3. Les utilisateurs parcourent et lisent le contenu mis à jour. Exemple d'utilisation: abonnez-vous au flux RSS de TechCrunch, copiez simplement le lien vers le lecteur RSS.

Les étapes pour créer un RSSFeed à l'aide de XML sont les suivantes: 1. Créez l'élément racine et définissez la version; 2. Ajouter l'élément de canal et ses informations de base; 3. Ajouter l'élément d'entrée, y compris le titre, le lien et la description; 4. Convertir la structure XML en une chaîne et la sortir. Avec ces étapes, vous pouvez créer un RSSFeed valide à partir de zéro et améliorer sa fonctionnalité en ajoutant des éléments supplémentaires tels que la date de version et les informations sur l'auteur.

Les étapes pour créer un document RSS sont les suivantes: 1. Écrivez au format XML, avec l'élément racine, y compris les éléments. 2. Ajouter, etc. Éléments pour décrire les informations du canal. 3. Ajouter des éléments, chacun représentant une entrée de contenu, y compris ,,,,,,,,,,,,. 4. Ajouter éventuellement et des éléments pour enrichir le contenu. 5. Assurez-vous que le format XML est correct, utilisez des outils en ligne pour vérifier, optimiser les performances et tenir le contenu à jour.

Le rôle central de XML dans RSS est de fournir un format de données standardisé et flexible. 1. La structure et les caractéristiques du langage de balisage de XML le rendent adapté à l'échange et au stockage des données. 2. RSS utilise XML pour créer un format standardisé pour faciliter le partage de contenu. 3. L'application de XML en RSS comprend des éléments qui définissent le contenu des aliments, tels que le titre et la date de sortie. 4. Les avantages incluent la normalisation et l'évolutivité, et les défis incluent des exigences de syntaxe verbeux et strictes de documents. 5. Les meilleures pratiques incluent la validation de la validité XML, la maintenance simple, l'utilisation des CDATA et la mise à jour régulièrement.


Outils d'IA chauds

Undresser.AI Undress
Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover
Outil d'IA en ligne pour supprimer les vêtements des photos.

Undress AI Tool
Images de déshabillage gratuites

Clothoff.io
Dissolvant de vêtements AI

AI Hentai Generator
Générez AI Hentai gratuitement.

Article chaud

Outils chauds

Dreamweaver Mac
Outils de développement Web visuel

Bloc-notes++7.3.1
Éditeur de code facile à utiliser et gratuit

mPDF
mPDF est une bibliothèque PHP qui peut générer des fichiers PDF à partir de HTML encodé en UTF-8. L'auteur original, Ian Back, a écrit mPDF pour générer des fichiers PDF « à la volée » depuis son site Web et gérer différentes langues. Il est plus lent et produit des fichiers plus volumineux lors de l'utilisation de polices Unicode que les scripts originaux comme HTML2FPDF, mais prend en charge les styles CSS, etc. et présente de nombreuses améliorations. Prend en charge presque toutes les langues, y compris RTL (arabe et hébreu) et CJK (chinois, japonais et coréen). Prend en charge les éléments imbriqués au niveau du bloc (tels que P, DIV),

Navigateur d'examen sécurisé
Safe Exam Browser est un environnement de navigation sécurisé permettant de passer des examens en ligne en toute sécurité. Ce logiciel transforme n'importe quel ordinateur en poste de travail sécurisé. Il contrôle l'accès à n'importe quel utilitaire et empêche les étudiants d'utiliser des ressources non autorisées.

Adaptateur de serveur SAP NetWeaver pour Eclipse
Intégrez Eclipse au serveur d'applications SAP NetWeaver.