JavaでXMLファイルを変更する方法-(JDOMパーサー)
JDOM XML parserの既存のXMLファイルを変更する例:
-
新しい要素を追加する
-
既存の要素属性を更新する
-
既存の要素値を更新する
-
既存の要素を削除
1. XMLファイル
XMLファイルの前後を参照してください。
File : file.xml –元のXMLファイル。
yong mook kim example 5000
後で、JDOM XMLパーサーを介して上記のXMLファイルを更新します。
-
スタッフの下に新しい「年齢」要素を追加する
-
スタッフ属性id = 2を更新します
-
給与値を7000に更新します
-
スタッフの下の「名」要素を削除する
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(); } } }