recherche
Maisondéveloppement back-endTutoriel XML/RSSTutoriel Java&Xml (7) Utiliser JDOM pour modifier le contenu des fichiers XML

JDOM offre un moyen très flexible d'exploiter les fichiers XML. L'utilisation de JDOM est très simple et le code est concis et lisible. Plus tôt, nous avons appris à utiliser JDOM pour analyser les fichiers XML. Cette section présente comment utiliser JDOM pour modifier le contenu des fichiers XML.

Dans ce tutoriel, nous allons modifier le fichier XML suivant :
employees.xml

<?xml version="1.0" encoding="UTF-8"?><Employees xmlns="http://www.journaldev.com/employees">
  <Employee id="1">
    <age>25</age>
    <name>Pankaj</name>
    <gender>Male</gender>
    <role>Java Developer</role>
  </Employee>
  <Employee id="2">
    <age>34</age>
    <name>Mona</name>
    <gender>Female</gender>
    <role>Manager</role>
  </Employee>
  <Employee id="3">
    <age>45</age>
    <name>Dave</name>
    <gender>Male</gender>
    <role>Support</role>
  </Employee></Employees>

Nous allons changer chaque élément Employee dans le xml :
1. Modifiez tous les éléments de nom afin que leur contenu soit entièrement en majuscules.
2. Ajoutez M après la valeur de l'attribut id lorsque le sexe est Homme, et ajoutez F après la valeur de l'attribut id lorsque le sexe est Femme.
3. Supprimez l’élément de genre.
4. Ajoutez le sous-élément salaire (salaire) à chaque élément Employé, la valeur par défaut est 1000.
Ce qui suit est le code du programme :
JDOMXMLEditor.java

package com.journaldev.xml.jdom;
import java.io.File;
import java.io.FileOutputStream;
import java.io.IOException;
import java.util.List;
import org.jdom2.Element;
import org.jdom2.JDOMException;
import org.jdom2.Namespace;
import org.jdom2.input.SAXBuilder;
import org.jdom2.output.Format;
import org.jdom2.output.XMLOutputter;
public class JDOMXMLEditor {

    public static void main(String[] args) throws JDOMException, IOException {        
    final Namespace ns = Namespace.getNamespace("http://www.journaldev.com/employees");        
    //Get the JDOM document
        org.jdom2.Document doc = useSAXParser("employees.xml");        
        //Get list of Employee element
        Element rootElement = doc.getRootElement();
        List<Element> listEmpElement = rootElement.getChildren("Employee", ns);        
        //loop through to edit every Employee element
        for (Element empElement : listEmpElement) {            
        //change the name to BLOCK letters
            String name = empElement.getChildText("name", ns);            
            if (name != null)
                empElement.getChild("name", ns).setText(name.toUpperCase());            
                //edit the ID attribute based on Gender
            String gender = empElement.getChildText("gender", ns);            
            if (gender != null && gender.equalsIgnoreCase("female")) {
                String id = empElement.getAttributeValue("id");
                empElement.getAttribute("id").setValue(id + "F");
            } else {
                String id = empElement.getAttributeValue("id");
                empElement.getAttribute("id").setValue(id + "M");
            }            
            //remove gender element as it&#39;s not needed anymore
            empElement.removeChild("gender", ns);            
            //add salary element with default value to every employee
            empElement.addContent(new Element("salary", ns).setText("1000"));
        }        
        //document is processed and edited successfully, lets save it in new file
        XMLOutputter xmlOutputter = new XMLOutputter(Format.getPrettyFormat());        
        //output xml to console for debugging
        //xmlOutputter.output(doc, System.out);
        xmlOutputter.output(doc, new FileOutputStream("employees_new.xml"));
    }    //Get JDOM document from SAX Parser
    private static org.jdom2.Document useSAXParser(String fileName) throws JDOMException,
            IOException {
        SAXBuilder saxBuilder = new SAXBuilder();        
        return saxBuilder.build(new File(fileName));
    }

}

Il convient de noter que le code ci-dessus utilise l'espace de noms pour obtenir tous les éléments et que l'exécution du programme génère le contenu du fichier XML. :
employees_new.xml

<?xml version="1.0" encoding="UTF-8"?><Employees xmlns="http://www.journaldev.com/employees">
  <Employee id="1M">
    <age>25</age>
    <name>PANKAJ</name>
    <role>Java Developer</role>
    <salary>1000</salary>
  </Employee>
  <Employee id="2F">
    <age>34</age>
    <name>MONA</name>
    <role>Manager</role>
    <salary>1000</salary>
  </Employee>
  <Employee id="3M">
    <age>45</age>
    <name>DAVE</name>
    <role>Support</role>
    <salary>1000</salary>
  </Employee></Employees>

JDOM fournit un moyen très flexible d'exploiter les fichiers XML. L'utilisation de JDOM est très simple et le code est concis et lisible. Plus tôt, nous avons appris à utiliser JDOM pour analyser les fichiers XML. Cette section présente comment utiliser JDOM pour modifier le contenu des fichiers XML.
Dans ce tutoriel, nous allons modifier le fichier XML suivant :
employees.xml

<?xml version="1.0" encoding="UTF-8"?><Employees xmlns="http://www.journaldev.com/employees">
  <Employee id="1">
    <age>25</age>
    <name>Pankaj</name>
    <gender>Male</gender>
    <role>Java Developer</role>
  </Employee>
  <Employee id="2">
    <age>34</age>
    <name>Mona</name>
    <gender>Female</gender>
    <role>Manager</role>
  </Employee>
  <Employee id="3">
    <age>45</age>
    <name>Dave</name>
    <gender>Male</gender>
    <role>Support</role>
  </Employee></Employees>

Nous allons changer chaque élément Employee dans le xml :
Modifier tous les noms. élément, rendant son contenu entièrement en majuscules.
2. Ajoutez M après la valeur de l'attribut id lorsque le sexe est Homme, et ajoutez F après la valeur de l'attribut id lorsque le sexe est Femme.
3. Supprimez l’élément de genre.
4. Ajoutez le sous-élément salaire (salaire) à chaque élément Employé, la valeur par défaut est 1000.
Ce qui suit est le code du programme :
JDOMXMLEditor.java

package com.journaldev.xml.jdom;
import java.io.File;
import java.io.FileOutputStream;
import java.io.IOException;
import java.util.List;
import org.jdom2.Element;
import org.jdom2.JDOMException;
import org.jdom2.Namespace;
import org.jdom2.input.SAXBuilder;
import org.jdom2.output.Format;
import org.jdom2.output.XMLOutputter;
public class JDOMXMLEditor {

    public static void main(String[] args) throws JDOMException, IOException {        
    final Namespace ns = Namespace.getNamespace("http://www.journaldev.com/employees");        
    //Get the JDOM document
        org.jdom2.Document doc = useSAXParser("employees.xml");        
        //Get list of Employee element
        Element rootElement = doc.getRootElement();
        List<Element> listEmpElement = rootElement.getChildren("Employee", ns);        
        //loop through to edit every Employee element
        for (Element empElement : listEmpElement) {            
        //change the name to BLOCK letters
            String name = empElement.getChildText("name", ns);            
            if (name != null)
                empElement.getChild("name", ns).setText(name.toUpperCase());            
                //edit the ID attribute based on Gender
            String gender = empElement.getChildText("gender", ns);            
            if (gender != null && gender.equalsIgnoreCase("female")) {
                String id = empElement.getAttributeValue("id");
                empElement.getAttribute("id").setValue(id + "F");
            } else {
                String id = empElement.getAttributeValue("id");
                empElement.getAttribute("id").setValue(id + "M");
            }            
            //remove gender element as it&#39;s not needed anymore
            empElement.removeChild("gender", ns);            
            //add salary element with default value to every employee
            empElement.addContent(new Element("salary", ns).setText("1000"));
        }        //document is processed and edited successfully, lets save it in new file
        XMLOutputter xmlOutputter = new XMLOutputter(Format.getPrettyFormat());        
        //output xml to console for debugging
        //xmlOutputter.output(doc, System.out);
        xmlOutputter.output(doc, new FileOutputStream("employees_new.xml"));
    }    //Get JDOM document from SAX Parser
    private static org.jdom2.Document useSAXParser(String fileName) throws JDOMException,
            IOException {
        SAXBuilder saxBuilder = new SAXBuilder();        
        return saxBuilder.build(new File(fileName));
    }

}

Il convient de noter que le code ci-dessus utilise l'espace de noms pour obtenir tous les éléments et que l'exécution du programme génère le contenu du fichier XML. :
employees_new.xml

<?xml version="1.0" encoding="UTF-8"?><Employees xmlns="http://www.journaldev.com/employees">
  <Employee id="1M">
    <age>25</age>
    <name>PANKAJ</name>
    <role>Java Developer</role>
    <salary>1000</salary>
  </Employee>
  <Employee id="2F">
    <age>34</age>
    <name>MONA</name>
    <role>Manager</role>
    <salary>1000</salary>
  </Employee>
  <Employee id="3M">
    <age>45</age>
    <name>DAVE</name>
    <role>Support</role>
    <salary>1000</salary>
  </Employee></Employees>

Ce qui précède est le tutoriel Java&Xml (7) utilisant JDOM pour modifier le contenu des fichiers XML. Pour plus de contenu connexe, veuillez faire attention au site Web PHP chinois (www. .php.cn) !


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
Documents RSS: Foundation of Web SyndicationDocuments RSS: Foundation of Web SyndicationApr 18, 2025 am 12:04 AM

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.

Décodage RSS: La structure XML des flux de contenuDécodage RSS: La structure XML des flux de contenuApr 17, 2025 am 12:09 AM

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.

Comment analyser et utiliser des flux RSS basés sur XMLComment analyser et utiliser des flux RSS basés sur XMLApr 16, 2025 am 12:05 AM

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

Documents RSS: comment ils livrent votre contenu préféréDocuments RSS: comment ils livrent votre contenu préféréApr 15, 2025 am 12:01 AM

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.

Building Feeds avec XML: un guide pratique de RSSBuilding Feeds avec XML: un guide pratique de RSSApr 14, 2025 am 12:17 AM

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.

Création de documents RSS: un tutoriel étape par étapeCréation de documents RSS: un tutoriel étape par étapeApr 13, 2025 am 12:10 AM

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.

Rôle de XML dans RSS: le fondement du contenu syndiquéRôle de XML dans RSS: le fondement du contenu syndiquéApr 12, 2025 am 12:17 AM

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.

De XML au contenu lisible: démystifier les flux RSSDe XML au contenu lisible: démystifier les flux RSSApr 11, 2025 am 12:03 AM

RSSFeedsArexMLDocuments utilisé pour la contention de la variabilité et la distribution.

See all articles

Outils d'IA chauds

Undresser.AI Undress

Undresser.AI Undress

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

AI Clothes Remover

AI Clothes Remover

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

Undress AI Tool

Undress AI Tool

Images de déshabillage gratuites

Clothoff.io

Clothoff.io

Dissolvant de vêtements AI

AI Hentai Generator

AI Hentai Generator

Générez AI Hentai gratuitement.

Article chaud

R.E.P.O. Crystals d'énergie expliqués et ce qu'ils font (cristal jaune)
1 Il y a quelques moisBy尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Meilleurs paramètres graphiques
1 Il y a quelques moisBy尊渡假赌尊渡假赌尊渡假赌
Will R.E.P.O. Vous avez un jeu croisé?
1 Il y a quelques moisBy尊渡假赌尊渡假赌尊渡假赌

Outils chauds

Dreamweaver Mac

Dreamweaver Mac

Outils de développement Web visuel

PhpStorm version Mac

PhpStorm version Mac

Le dernier (2018.2.1) outil de développement intégré PHP professionnel

MantisBT

MantisBT

Mantis est un outil Web de suivi des défauts facile à déployer, conçu pour faciliter le suivi des défauts des produits. Cela nécessite PHP, MySQL et un serveur Web. Découvrez nos services de démonstration et d'hébergement.

Adaptateur de serveur SAP NetWeaver pour Eclipse

Adaptateur de serveur SAP NetWeaver pour Eclipse

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

Version Mac de WebStorm

Version Mac de WebStorm

Outils de développement JavaScript utiles