JavaでXMLファイルを変更する方法 - (JDOM Parser)

JavaでXMLファイルを変更する方法-(JDOMパーサー)

JDOM XML parserの既存のXMLファイルを変更する例:

  1. 新しい要素を追加する

  2. 既存の要素属性を更新する

  3. 既存の要素値を更新する

  4. 既存の要素を削除

1. XMLファイル

XMLファイルの前後を参照してください。

File : file.xml –元のXMLファイル。


  
    yong
    mook kim
    example
    5000
  

後で、JDOM XMLパーサーを介して上記のXMLファイルを更新します。

  1. スタッフの下に新しい「年齢」要素を追加する

  2. スタッフ属性id = 2を更新します

  3. 給与値を7000に更新します

  4. スタッフの下の「名」要素を削除する

File : file.xml –新しく変更されたXMLファイル。


  
    mook kim
    example
    7000
    28
  

2. JDOMの例

既存のXMLファイルを更新または変更するためのJDOMパーサー。

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();
      }
    }
}