package test;
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.JDOMException;
import org.jdom.input.SAXBuilder;
import org.jdom.output.Format;
import org.jdom.output.XMLOutputter;
public class ModifyXML {
/**
* @param args
*/
File file;//声明File对象file
Document doc;//声明Document对象doc
SAXBuilder builder;//声明用来解析XML文档的SAXBuilder类对象builder
public ModifyXML(){
file = new File("c:\\customer.xml");
builder = new SAXBuilder();
try {
doc = builder.build(file);
} catch (JDOMException e) {
e.printStackTrace();
} catch (IOException 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 notename = element.getName();
if (notename.equals("address")) {
//添加子元素"country",并设置其内容为"China"
Element country = new Element("country");
country.addContent("China");
element.addContent(country);
//修改名为"street"的子元素内容
Element street = element.getChild("street");
street.setText("BUPT,10# XiTuCheng road");
//修改名为"district"的子元素
element.removeChild("district");
}
}
//创建XML文件输出流
XMLOutputter xmlop = new XMLOutputter();
try {
//创建XML文件输出流
FileWriter fw = new FileWriter("c:\\customer.xml");
//设置所创建的XML文档的格式
Format fmt = Format.getPrettyFormat();
fmt.setEncoding("gbk");
xmlop.setFormat(fmt);
//将生成的XML文档写入到"c:\customer.xml"文件中
xmlop.output(doc,fw);
fw.close();
} catch (IOException e) {
e.printStackTrace();
}
}
public static void main(String[] args) {
new ModifyXML();
}
}