package com.jb.cdjj.y2t055.barney;
import java.io.File;
import java.io.FileWriter;
import java.io.IOException;
import java.util.Iterator;
import java.util.List;
import org.jdom.Document;
import org.jdom.Element;
import org.jdom.input.SAXBuilder;
import org.jdom.output.Format;
import org.jdom.output.XMLOutputter;
public class ModifyXML {
// 声明File对象file
File file;
// 声明Document对象doc
Document doc;
// 声明用来解析XML文档的SAXBuilder类对象builder
SAXBuilder builder;
public ModifyXML() {
try {
file = new File("D:\\customer.xml");
// 创建builder对象,并使用该对象中的build方法处理XML文件
builder = new SAXBuilder();
doc = builder.build(file);
} catch (IOException e) {
e.printStackTrace();
} catch (Exception e) {
e.printStackTrace();
}
// 获得XML文档的根节点元素
Element root = doc.getRootElement();
// 获得XML文档根节点元素下的全部子节点元素
List list = root.getChildren();
// 利用循环来处理全部子节点元素
for (Iterator iter = list.iterator(); iter.hasNext();) {
// 获得其中一个字节点元素
Element element = (Element) iter.next();
// 获得该子节点元素名
String nodeName = element.getName();
// 当所获得的子元素名为"address"时的处理
if (nodeName.equals("address")) {
// 添加子元素"country",并设置其内容为"China"
Element country = new Element("country");
country.addContent("China");
element.addContent(country);
// 修改名为"street"的子元素内容
Element street = element.getChild("street");
street.setText("BUPT,1000000# XiTuCheng road");
// 删除名为"district"的子元素
element.removeChild("district");
}
}
try {
// 创建XML文件输出流
XMLOutputter fmt = new XMLOutputter();
// 创建文件输出流
FileWriter writer = new FileWriter("D:\\customer.xml");
// 设置所创建的XML文档的格式
Format f = Format.getPrettyFormat();
fmt.setFormat(f);
// 将生成的XML文档写入到"d:\customer.xml"文件中
fmt.output(doc, writer);
writer.close();
} catch (Exception e) {
e.printStackTrace();
}
}
public static void main(String[] args) {
ModifyXML modifyXML = new ModifyXML();
}
}