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文件操作!