JavaでXMLファイルを変更する方法 – (JDOM Parser)
1. XMLファイル
XMLファイルの前後を参照してください。
File:file.xml
– 元のXMLファイル。
<?xml version="1.0" encoding="UTF-8"?>
<company>
<staff id="1">
<firstname>yong</firstname>
<lastname>mook kim</lastname>
<nickname>mkyong</nickname>
<salary>5000</salary>
</staff>
</company>
その後、JDOM XML Parserを使用してXMLファイルを更新します。
-
スタッフの下に新しい「年齢」要素を追加する
-
スタッフ属性を更新するid = 2
-
給与額を7000に更新する
-
スタッフの下の「firstname」要素を削除する
File:file.xml
– 新しく変更されたXMLファイル。
<?xml version="1.0" encoding="UTF-8"?>
<company>
<staff id="2">
<lastname>mook kim</lastname>
<nickname>mkyong</nickname>
<salary>7000</salary>
<age>28</age>
</staff>
</company>
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();
}
}
}
リンク://タグ/java/[java]リンク://タグ/jdom/[jdom]リンク://タグ/xml/[xml]