先到网上下载dom4j-1.6.1.jar
读取:
public static void readxml(){
try {
File file = new File("web.xml");
SAXReader reader=new SAXReader();
//读取xml文件到Document中
Document doc=reader.read(file);
//获取xml文件的根节点
Element rootElement=doc.getRootElement();
//定义一个Element用于遍历
Element fooElement;
//遍历所有名叫“VALUE”的节点
for(Iterator i=rootElement.elementIterator("VALUE");i.hasNext();){
fooElement=(Element)i.next();
System.out.println("车牌号:"+fooElement.elementText("NO"));
System.out.println("地区:"+fooElement.elementText("ADDR"));
}
System.out.println(rootElement.toString());
} catch (Exception e) {
// TODO: handle exception
e.printStackTrace();
}
}
写入:
public static void writexml() {
//1.第一种 创建文档及设置根元素节点的方式
//创建文档的根节点
// Document document = DocumentHelper.createDocument();
// //创建文档的 根元素节点
// Element root = DocumentHelper.createElement("Person");
// document.setRootElement(root);
//2.第二种 创建文档及设置根元素节点的方式
Element root = DocumentHelper.createElement("Person");
Document document = DocumentHelper.createDocument(root);
//给根节点添加属性
root.addAttribute("学校", "南大").addAttribute("位置", "江西");
//给根节点添加孩子节点
Element element1 = root.addElement("学生");
element1.addElement("姓名").addAttribute("婚姻", "单身").addText("小章");
element1.addElement("年龄").addText("21");
Element element2 = root.addElement("学生");
element2.addElement("姓名").addAttribute("婚姻", "单身").addText("小红").addElement("爱好").addText("唱歌");
element2.addElement("年龄").addText("22");
//把生成的xml文档存放在硬盘上 true代表是否换行
OutputFormat format = new OutputFormat(" ",true);
format.setEncoding("GBK");//设置编码格式
XMLWriter xmlWriter = null;
try {
xmlWriter = new XMLWriter(new FileOutputStream("Person.xml"),format);
} catch (UnsupportedEncodingException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (FileNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
try {
xmlWriter.write(document);
System.out.println("OK");
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
try {
xmlWriter.close();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}