JDOM是一種使用 XML 的獨特 Java 工具包,用於快速開發 XML 應用程序。它的設計包含 Java 語言的語法乃至語義。
自己做了個java工程例子先介紹下文件結構:
我xml文檔是放在src目錄下面的,具體內容如下:
<?xml version="1.0" encoding="UTF-8"?>
<root>
<person id="1">
<username>ydcun</username>
<password>123123</password>
</person>
<person id="2">
<username>1111111112</username>
<password>password2</password>
</person>
</root>
下面就是我用jdom工具來操作xml文件了,我只寫了遍歷,刪除和添加節點的例子;相信大家一看就明白修改怎麼寫了:
package com.ydcun.test;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStream;
import java.util.List;
import org.jdom.Document;
import org.jdom.Element;
import org.jdom.JDOMException;
import org.jdom.input.SAXBuilder;
import org.jdom.output.XMLOutputter;
public class TestDemo {
private static Document document; // 存放讀取的文件
private static String path = "src/struts.xml"; // 文件存放路徑
//加載文件
public TestDemo() throws Exception {
SAXBuilder bulider = new SAXBuilder();
InputStream inSt = new FileInputStream(path);
document = bulider.build(inSt);
}
//遍歷解析文檔
public void xmlParse(){
Element root = document.getRootElement(); //獲取根節點對象
List<Element> list = root.getChildren();
for(Element el: list){
System.out.println("id="+el.getAttributeValue("id"));
System.out.println(" name:"+el.getChildText("username"));
System.out.println(" password:"+el.getChildText("password"));
}
}
//添加節點
public void addElement() throws Exception{
//創建一個person節點
Element el = new Element("person");
el.setAttribute("id","3");
//創建username節點
Element elName = new Element("username");
elName.setText("qiqi");
///創建password節點
Element elPassword = new Element("password");
elPassword.setText("123456");
//將username,password添加到person節點內
el.addContent(elName);
el.addContent(elPassword);
//獲取根節點將person節點添加到根節點內
Element root = document.getRootElement();
root.addContent(el);
document.setRootElement(root);
//將添加的保存到文件中
XMLOutputter out = new XMLOutputter();
out.output(document, new FileOutputStream(path));
}
//刪除節點
public void deleteElement(int id) throws Exception{
Element root = document.getRootElement();
List<Element> list = root.getChildren();
for(Element el : list){
if(el.getAttributeValue("id").equals(id+"")){
root.removeContent(el); //將符合條件的節點刪除
}
}
XMLOutputter out = new XMLOutputter();
out.output(document, new FileOutputStream(path));
}
public static void main(String[] args) throws Exception {
TestDemo td = new TestDemo();
// td.addElement();//添加節點
// td.xmlParse();//便利xml文件
td.deleteElement(3);//刪除節點
}
}
通過上面的操作我們很容易掌握xml文件操作!