是用dom4j多xml增删改 ,
今天才发现dom4j真是太强大了 ,以前关于xml解析都是用的jdom
上手很快。
package org.ywq.test;
import java.io.File;
import java.io.FileWriter;
import java.io.IOException;
import java.util.ArrayList;
import java.util.Iterator;
import java.util.List;
import org.dom4j.Document;
import org.dom4j.DocumentException;
import org.dom4j.DocumentHelper;
import org.dom4j.Element;
import org.dom4j.QName;
import org.dom4j.io.OutputFormat;
import org.dom4j.io.SAXReader;
import org.dom4j.io.XMLWriter;
import org.ywq.entity.Student;
/**
* @author ai5qiangshao E-mail:ai5qiangshao@163.com
* @version 创建时间:Aug 20, 2009 5:42:22 PM
* @Package org.ywq.test
* @Description 类说明
*/
public class TestXml {
public static void main(String args[]) throws Exception {
XMLWriter writer = null;// 声明写XML的对象
SAXReader reader = new SAXReader();
//readerXml(reader, writer);
//createXml();
List<Student> list=loadXml();
Iterator<Student> it=list.iterator();
while (it.hasNext()) {
Student type = it.next();
System.out.println(type.getName());
}
}
public static List<Student> addStudnet(){
List<Student> stus=new ArrayList<Student>();
stus.add(new Student("admin",33,"女"));
stus.add(new Student("ai5qiangshao",33,"男"));
stus.add(new Student("yuanwen",3,"女"));
stus.add(new Student("zhongjiqiangshao",33,"男"));
return stus;
}
private static void modifyXml(SAXReader reader, XMLWriter writer)
throws Exception {
OutputFormat format = OutputFormat.createPrettyPrint();
format.setEncoding("GBK");// 设置XML文件的编码格式
Document doc = reader.read(new File("d:\\student.xml"));
Element root = doc.getRootElement();
List<Student> stus=addStudnet();
for (Student student : stus) {
Element men=root.addElement("menber");
men.addElement("name").setText(student.getName());
men.addElement("age").setText(student.getAge().toString());
men.addElement("sex").setText(student.getSex());
}
writer = new XMLWriter(new FileWriter("d:\\student.xml"), format);
writer.write(doc);
writer.close();
}
public static List<Student> loadXml()throws Exception{
List<Student> list=new ArrayList<Student>();
SAXReader reader=new SAXReader();
Document doc=reader.read(new File("d:\\student.xml"));
Element root=doc.getRootElement();
Iterator<Element> subElement=root.elementIterator();
while (subElement.hasNext()) {
Element element = (Element) subElement.next();
list.add(new Student(element.element("name").getText(),Integer.parseInt(element.element("age").getText()),element.element("sex").getText()));
}
return list;
}
private static void createXml() throws IOException {
XMLWriter writer;
OutputFormat format = OutputFormat.createPrettyPrint();
format.setEncoding("GBK");// 设置XML文件的编码格式
File file = new File("d:\\student.xml");
file.createNewFile();
Document doc = DocumentHelper.createDocument();
Element root = doc.addElement("members");// 创建根节点
Element menber = root.addElement("menber");
menber.addElement("name").addText("qiangshao");
menber.addElement("age").addText("18");
menber.addElement("sex").addText("男");
writer = new XMLWriter(new FileWriter(file), format);
writer.write(doc);
writer.close();
}
}
xml文件如下 :
是动态创建的:
<?xml version="1.0" encoding="GBK"?>
<members>
<menber>
<name>qiangshao</name>
<age>66</age>
<sex>男</sex>
</menber>
<menber>
<name>admin</name>
<age>33</age>
<sex>女</sex>
</menber>
<menber>
<name>ai5qiangshao</name>
<age>33</age>
<sex>男</sex>
</menber>
<menber>
<name>yuanwen</name>
<age>3</age>
<sex>女</sex>
</menber>
<menber>
<name>zhongjiqiangshao</name>
<age>33</age>
<sex>男</sex>
</menber>
</members>
分享到:
相关推荐
Dom4j完成例子 Dom4j完成例子 Dom4j完成例子
综合他人的dom4j例子
DOM4j教程 例子 DOM4j教程 例子 DOM4j教程 例子 DOM4j教程 例子
Dom4j例子 Dom4j例子 Dom4j例子 解析大部分的XML
dom4j dom4j dom4j dom4j dom4j dom4j
DOM4J jar包 所有的包 xml解析 dom4j-1.6.1 dom4j-2.0.2 dom4j-2.1.1 导入直接使用
介绍DOM4J的主要接口的使用方法,Elementorg.dom4j.Attribute : Attribute接口定义了XML文件的属性 org.dom4j.Branch:Branch为能够包含子节点的节点如XML元素和文档定义了一个公共为 org.dom4j.CDATA : CDATA定义了...
Dom4j_使用简介DOM4J是dom4j.org出品的一个开源XML解析包,它的网站中这样定义: Dom4j is an easy to use, open source library for working with XML, XPath and XSLT on the Java platform using the Java ...
这个压缩包是一个关于DOM4J的压缩包,里面包含了DOM4J的帮助文档,DOM4J的使用教程,以及DOM4J这个JAVA包。保证这个压缩包是网上面最全的有关DOM4J的文档。
详细的描述了DOM4J中对象的使用,更通过大量的例子来让你理解和掌握。
XSD使用dom4j校验XML
dom4j的例子,很简单的dom4j.里面有dom4j的配置文件
dom4j使用手册;
一个简单的dom4j学习的例子,大家一起交流!
这里有很多dom4j解析的小例子,结合实例看看,就能懂得!
dom4j关于xml读写的例子里面还有dom4j的jar包,对初学者很有帮助
DOM4j和log4j简单例子详解,综合网上例子,和大家一起分享。导入Eclipse中就可。谢谢!
用dom4j操作xml的例子,基本的增删改查都有。
dom4j的源文件(包含一些例子和jar包)dom4j-1.6.1
自己写的一个dom4j的例子,xml文件和java源码都打包在了一起,内容包括基本的增删改查、