Comment modifier un fichier XML en Java - (analyseur JDOM)

Comment modifier un fichier XML en Java - (JDOM Parser)

Exemple deJDOM XML parser pour modifier un fichier XML existant:

  1. Ajouter un nouvel élément

  2. Mettre à jour l'attribut d'élément existant

  3. Mettre à jour la valeur de l'élément existant

  4. Supprimer l'élément existant

1. Fichier XML

Voir avant et après le fichier XML.

File : file.xml - Fichier XML d'origine.


  
    yong
    mook kim
    example
    5000
  

Plus tard, mettez à jour le fichier XML ci-dessus via JDOM XML Parser.

  1. Ajouter un nouvel élément «âge» sous le personnel

  2. Mettre à jour l'attribut staff id = 2

  3. Mettre à jour la valeur du salaire à 7000

  4. Supprimer l'élément «prénom» sous la portée

File : file.xml - Fichier XML récemment modifié.


  
    mook kim
    example
    7000
    28
  

2. Exemple JDOM

Analyseur JDOM pour mettre à jour ou modifier un fichier XML existant.

import java.io.File;
import java.io.FileWriter;
import java.io.IOException;
import org.jdom.Document;
import org.jdom.Element;
import org.jdom.JDOMException;
import org.jdom.input.SAXBuilder;
import org.jdom.output.Format;
import org.jdom.output.XMLOutputter;

public class ModifyXMLFile {
    public static void main(String[] args) {

      try {

        SAXBuilder builder = new SAXBuilder();
        File xmlFile = new File("c:\\file.xml");

        Document doc = (Document) builder.build(xmlFile);
        Element rootNode = doc.getRootElement();

        // update staff id attribute
        Element staff = rootNode.getChild("staff");
        staff.getAttribute("id").setValue("2");

        // add new age element
        Element age = new Element("age").setText("28");
        staff.addContent(age);

        // update salary value
        staff.getChild("salary").setText("7000");

        // remove firstname element
        staff.removeChild("firstname");

        XMLOutputter xmlOutput = new XMLOutputter();

        // display nice nice
        xmlOutput.setFormat(Format.getPrettyFormat());
        xmlOutput.output(doc, new FileWriter("c:\\file.xml"));

        // xmlOutput.output(doc, System.out);

        System.out.println("File updated!");
      } catch (IOException io) {
        io.printStackTrace();
      } catch (JDOMException e) {
        e.printStackTrace();
      }
    }
}