`
qiangshao
  • 浏览: 11562 次
  • 性别: Icon_minigender_1
  • 来自: 长沙
社区版块
存档分类

今天 一位同学问到关于dom4j怎么使用,我也没用过,自己做了个例子

    博客分类:
  • XML
阅读更多
是用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的核心功能和使用方法。 **1. XML解析** 解析XML文档是Dom4j的基本操作之一。通过`DocumentBuilderFactory`和`DocumentBuilder`,我们可以将XML字符串或文件转换为`Document`...

    dom4j简单例子

    DOM4J是一个强大的Java XML处理库,它提供了一套丰富的API来操作XML文档,包括读取、写入、修改和查询。在这个“dom4j简单例子”中,我们将深入理解DOM4J的基本用法和核心概念,以帮助你更好地利用这个库在实际项目...

    DOM4J 的使用

    DOM4J 的使用 DOM4J 是一个开源的 XML ...DOM4J 是一个功能强大且易于使用的 XML 解析包,提供了一个简洁的 API,方便用户快速地解析和操作 XML 文档。它支持 DOM、SAX 和 JAXP,能够满足各种 XML 解析和操作的需求。

    DOM4J jar包 xml解析 所有的dom4j-1.6.1 dom4j-2.0.2 dom4j-2.1.1包 导入直接使用

    在项目中使用DOM4J时,只需将相应的jar包(如dom4j-1.6.1.jar、dom4j-2.0.2.jar或dom4j-2.1.1.jar)导入到类路径中,即可开始利用其功能处理XML文档。导入后,可以按照DOM4J提供的API进行编程,快速实现XML的读写...

    dom4j基本例子

    DOM4J是一个强大的Java库,专门用于处理XML文档。它提供了简单而灵活的方式来解析、创建、修改和查询XML文档。这个基本例子展示了DOM4J的核心功能,包括XML的读取、元素的操作以及XML结构的修改。 首先,让我们深入...

    dom4j 工具类 使用例子

    总的来说,"dom4j工具类使用例子"是关于如何使用DOM4J库高效处理XML文档的实例教程。通过`Dom4jUtil.java`和`XMLResult.java`这两个类,我们可以学习到XML的读取、创建、修改等操作,掌握DOM4J的使用技巧,从而在...

    dom4j 解析xml例子

    DOM4J是一个强大的Java库,专门用于处理XML文档。它提供了灵活、高性能的API,使得XML的解析、创建、操作变得简单。在这个“dom4j解析xml例子”中,我们将深入探讨DOM4J如何帮助开发者在Java环境中有效地处理XML数据...

    一个简单的Dom4j学习的例子

    **标题解析:** "一个简单的Dom4j学习的例子" 暗示了我们将探讨的是如何使用Dom4j这个Java库来处理XML文档的基础知识。Dom4j是一个灵活且高效的XML处理库,它提供了丰富的API来读取、写入、修改XML文档。 **描述...

    Dom4j例子,可以解析大部分的XML

    相比之下,Dom4j是一个轻量级的库,虽然也基于DOM的概念,但它的设计更注重性能和灵活性,提供了一种更高效的方式来处理XML。 2. **Dom4j的基本操作** - **解析XML**:Dom4j提供`DocumentBuilder`类用于解析XML...

    dom4j dom4j dom4j dom4j

    DOM4J是一个强大的Java库,专门用于处理XML文档。它提供了灵活且高效的API,使得XML的解析、创建、修改和查询变得简单易行。在Java世界中,DOM4J是与DOM、SAX和JDOM等其他XML处理库并驾齐驱的一个选择,尤其在处理...

    DOM4j教程 例子

    DOM4j是一个开源项目,可以在SourceForge等开源平台上获取到。DOM4j不仅在性能上表现出色,在功能性和易用性方面也得到了广泛的认可。很多Java应用,尤其是那些需要处理XML的应用程序,都会选择使用DOM4j作为其核心...

    dom4j操作XMl例子

    DOM4J是一个强大的Java库,专门用于处理XML文档。它提供了灵活且高效的API,使得XML的读取、创建、修改和解析变得简单易行。在本示例中,"dom4jExample.java"是一个Java程序,它展示了如何利用DOM4J库来操作XML文件...

    用dom4j操作xml的例子

    XML(eXtensible Markup Language)是一种用于标记数据的语言,广泛应用于数据交换、配置文件以及文档存储等...在提供的"dom4j实例.pdf"文件中,您应该能找到更详细的代码示例和解释,帮助您进一步掌握DOM4J的使用。

    dom4j关于xml读写的例子里面还有dom4j的jar包

    在这个压缩包中,你将找到一个DOM4J用于XML操作的例子,这对于初学者来说是一个很好的学习资源。DOM4J相比Java内置的DOM API更加轻量级,性能更优,而且它的API设计得更加友好,易于理解和使用。 XML(eXtensible ...

    dom4j-1.6.1 与 dom4j-2.0.0-ALPHA

    DOM4J是一个强大的Java库,专门用于处理XML文档。它提供了灵活、高效的API,使得XML的解析、创建、修改和查询变得简单。这次我们有两个版本的DOM4J库:1.6.1和2.0.0-ALPHA。这两个版本在功能、性能和API设计上都有所...

    dom4j使用简介

    **DOM4J使用简介** DOM4J 是一个强大的 Java 库,专为处理 XML 文档而设计。它提供了丰富的 API,使得在 Java 中解析、创建、修改 XML 文件变得简单高效。DOM4J 不仅支持 DOM(文档对象模型)和 SAX(简单API for ...

    dom4j配置文件例子

    DOM4J是一个强大的Java库,专门用于处理XML文档。它提供了灵活、高性能的API,使得开发者可以方便...在这个"dom4j配置文件例子"中,我们可以学习到如何使用DOM4J解析、查询和操作XML配置文件,提升我们的Java开发能力。

    我写的几个dom4j的入门例子.rar

    DOM4J是一个强大的Java库,专门用于处理XML文档。它提供了简单易用的API,使得XML的解析、创建、修改和查询变得轻而易举。在这个"我写的几个DOM4J的入门例子"中,我们可以看到一系列的示例,涵盖了XML文件的读取和...

    dom4j_dom4j1.6.1安装包_

    DOM4J是一个强大的Java库,专门用于处理XML文档。它提供了灵活、高效的API,使得XML的解析、创建、查询和修改变得更为简单。在本文中,我们将深入探讨DOM4J 1.6.1版本的安装及其在Maven项目中的应用。 首先,DOM4J...

    DOM4j和log4j例子详解

    在提供的"TestDom4jLog4j"项目中,应该包含了使用DOM4j处理XML和log4j记录日志的示例代码,通过阅读和运行这些代码,可以更好地理解DOM4j和log4j的使用方法。对于初学者来说,这是一个很好的实践和学习资源。

Global site tag (gtag.js) - Google Analytics