是用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的核心功能和使用方法。 **1. XML解析** 解析XML文档是Dom4j的基本操作之一。通过`DocumentBuilderFactory`和`DocumentBuilder`,我们可以将XML字符串或文件转换为`Document`...
DOM4J是一个强大的Java XML处理库,它提供了一套丰富的API来操作XML文档,包括读取、写入、修改和查询。在这个“dom4j简单例子”中,我们将深入理解DOM4J的基本用法和核心概念,以帮助你更好地利用这个库在实际项目...
DOM4J 的使用 DOM4J 是一个开源的 XML ...DOM4J 是一个功能强大且易于使用的 XML 解析包,提供了一个简洁的 API,方便用户快速地解析和操作 XML 文档。它支持 DOM、SAX 和 JAXP,能够满足各种 XML 解析和操作的需求。
在项目中使用DOM4J时,只需将相应的jar包(如dom4j-1.6.1.jar、dom4j-2.0.2.jar或dom4j-2.1.1.jar)导入到类路径中,即可开始利用其功能处理XML文档。导入后,可以按照DOM4J提供的API进行编程,快速实现XML的读写...
DOM4J是一个强大的Java库,专门用于处理XML文档。它提供了简单而灵活的方式来解析、创建、修改和查询XML文档。这个基本例子展示了DOM4J的核心功能,包括XML的读取、元素的操作以及XML结构的修改。 首先,让我们深入...
总的来说,"dom4j工具类使用例子"是关于如何使用DOM4J库高效处理XML文档的实例教程。通过`Dom4jUtil.java`和`XMLResult.java`这两个类,我们可以学习到XML的读取、创建、修改等操作,掌握DOM4J的使用技巧,从而在...
DOM4J是一个强大的Java库,专门用于处理XML文档。它提供了灵活、高性能的API,使得XML的解析、创建、操作变得简单。在这个“dom4j解析xml例子”中,我们将深入探讨DOM4J如何帮助开发者在Java环境中有效地处理XML数据...
**标题解析:** "一个简单的Dom4j学习的例子" 暗示了我们将探讨的是如何使用Dom4j这个Java库来处理XML文档的基础知识。Dom4j是一个灵活且高效的XML处理库,它提供了丰富的API来读取、写入、修改XML文档。 **描述...
相比之下,Dom4j是一个轻量级的库,虽然也基于DOM的概念,但它的设计更注重性能和灵活性,提供了一种更高效的方式来处理XML。 2. **Dom4j的基本操作** - **解析XML**:Dom4j提供`DocumentBuilder`类用于解析XML...
DOM4J是一个强大的Java库,专门用于处理XML文档。它提供了灵活且高效的API,使得XML的解析、创建、修改和查询变得简单易行。在Java世界中,DOM4J是与DOM、SAX和JDOM等其他XML处理库并驾齐驱的一个选择,尤其在处理...
DOM4j是一个开源项目,可以在SourceForge等开源平台上获取到。DOM4j不仅在性能上表现出色,在功能性和易用性方面也得到了广泛的认可。很多Java应用,尤其是那些需要处理XML的应用程序,都会选择使用DOM4j作为其核心...
DOM4J是一个强大的Java库,专门用于处理XML文档。它提供了灵活且高效的API,使得XML的读取、创建、修改和解析变得简单易行。在本示例中,"dom4jExample.java"是一个Java程序,它展示了如何利用DOM4J库来操作XML文件...
XML(eXtensible Markup Language)是一种用于标记数据的语言,广泛应用于数据交换、配置文件以及文档存储等...在提供的"dom4j实例.pdf"文件中,您应该能找到更详细的代码示例和解释,帮助您进一步掌握DOM4J的使用。
在这个压缩包中,你将找到一个DOM4J用于XML操作的例子,这对于初学者来说是一个很好的学习资源。DOM4J相比Java内置的DOM API更加轻量级,性能更优,而且它的API设计得更加友好,易于理解和使用。 XML(eXtensible ...
DOM4J是一个强大的Java库,专门用于处理XML文档。它提供了灵活、高效的API,使得XML的解析、创建、修改和查询变得简单。这次我们有两个版本的DOM4J库:1.6.1和2.0.0-ALPHA。这两个版本在功能、性能和API设计上都有所...
**DOM4J使用简介** DOM4J 是一个强大的 Java 库,专为处理 XML 文档而设计。它提供了丰富的 API,使得在 Java 中解析、创建、修改 XML 文件变得简单高效。DOM4J 不仅支持 DOM(文档对象模型)和 SAX(简单API for ...
DOM4J是一个强大的Java库,专门用于处理XML文档。它提供了灵活、高性能的API,使得开发者可以方便...在这个"dom4j配置文件例子"中,我们可以学习到如何使用DOM4J解析、查询和操作XML配置文件,提升我们的Java开发能力。
DOM4J是一个强大的Java库,专门用于处理XML文档。它提供了简单易用的API,使得XML的解析、创建、修改和查询变得轻而易举。在这个"我写的几个DOM4J的入门例子"中,我们可以看到一系列的示例,涵盖了XML文件的读取和...
DOM4J是一个强大的Java库,专门用于处理XML文档。它提供了灵活、高效的API,使得XML的解析、创建、查询和修改变得更为简单。在本文中,我们将深入探讨DOM4J 1.6.1版本的安装及其在Maven项目中的应用。 首先,DOM4J...
在提供的"TestDom4jLog4j"项目中,应该包含了使用DOM4j处理XML和log4j记录日志的示例代码,通过阅读和运行这些代码,可以更好地理解DOM4j和log4j的使用方法。对于初学者来说,这是一个很好的实践和学习资源。