`
Junjiejkl
  • 浏览: 62396 次
  • 性别: Icon_minigender_1
  • 来自: 广州
社区版块
存档分类
最新评论

利用DOM4J对XML进行简单的CRUD

阅读更多
package cn.itcast.xml.parser.dom4j;

import java.io.File;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.OutputStreamWriter;
import java.io.UnsupportedEncodingException;
import java.io.Writer;

import org.dom4j.Document;
import org.dom4j.DocumentException;
import org.dom4j.Element;
import org.dom4j.io.OutputFormat;
import org.dom4j.io.SAXReader;
import org.dom4j.io.XMLWriter;
import org.junit.Test;

public class Demo2 {
	private Document getDocument() throws Exception{
		SAXReader reader = new SAXReader();
		Document document = reader.read(new File("src/cn/itcast/xml/parser/dom4j/car.xml"));
		return document;
	}
	private void writerToFile(Document document)throws Exception{
		//取得输出格式
		OutputFormat format = OutputFormat.createPrettyPrint();
		//设置XML输出的编码方式
		format.setEncoding("UTF-8");
		//将内存中的字节转换成字符
		Writer writer = new OutputStreamWriter(new FileOutputStream("src/cn/itcast/xml/parser/dom4j/car.xml"),"UTF-8");
		//创建dom4j的输出字符流
		XMLWriter xmlWriter = new XMLWriter(writer,format);
		//真正输出
		xmlWriter.write(document);
		//关闭流
		xmlWriter.close();
	}
	@Test
	public void create() throws Exception{
		Document document = this.getDocument();
		Element rootElement = document.getRootElement();
		Element carElement = rootElement.element("汽车");
		carElement.addElement("单价").setText("25万");
		this.writerToFile(document);
	}
	@Test
	public void update() throws Exception{
		Document document = this.getDocument();
		Element rootElement = document.getRootElement();
		Element carElement = (Element) rootElement.elements("汽车").get(1);
		carElement.element("产地").setText("广州");
		this.writerToFile(document);
	}
	@Test
	public void delete() throws Exception{
		Document document = this.getDocument();
		Element rootElement = document.getRootElement();
		Element priceElement = rootElement.element("汽车").element("单价");
		priceElement.getParent().remove(priceElement);
		this.writerToFile(document);
	}
}













 

分享到:
评论

相关推荐

    Dom4j实现xml的CRUD

    本篇文章将详细讲解如何利用DOM4j在Java环境中实现XML文件的创建(Create)、读取(Read)、更新(Update)和删除(Delete),即CRUD操作,并结合Servlet技术进行实际应用。 1. 创建XML文件 DOM4j提供...

    Dom4j对xml文件做增删改查(使用分层思想)

    在这个案例中,我们将深入探讨如何利用Dom4j实现XML文档的增删改查操作,并遵循分层架构的思想来组织代码。 **一、Dom4j解析XML** 1. **解析XML文档**:Dom4j通过`DocumentBuilderFactory`和`DocumentBuilder`来...

    dom4j 包含例子 各种增删改查

    "2012-4-10 有关 xml dom4j的 crud"可能是另一个教程或者笔记,详细讲解了如何利用DOM4J进行XML的CRUD操作。这个文件可能包含了详细的步骤和代码示例,对于学习DOM4J非常有帮助。 "自己写的 dom4j的例子"很显然是...

    Dom4jTest.rar_xml/soap/webservice_Java_

    总的来说,“Dom4jTest.rar”项目展示了如何利用Java和DOM4J处理XML数据,以及如何将这些数据集成到SOAP Web服务中。通过这个项目,开发者可以学习到XML解析、Web服务开发以及如何在没有传统数据库的情况下存储和...

    java 解析xml类映射数据库 数据库操作 反射机制 源码

    本程序集的核心是利用Java解析XML文件,将XML中的数据映射到数据库,并通过反射机制进行数据库操作。下面将详细阐述这些知识点。 首先,XML解析在Java中通常有两种方式:DOM(Document Object Model)和SAX(Simple...

    用xml与java创建程序生成器

    我们可以使用如JDOM、DOM4J或者Java内置的DOM、SAX、StAX等API来解析XML。在解析完成后,Java代码可以通过字符串操作或者模板引擎(如FreeMarker、Velocity等)生成目标代码。 下面是一个简化的步骤概述: 1. **...

    java调用oracle存储过程入门实例 增删改查

    总结来说,这个入门实例涵盖了使用Java通过JDBC调用Oracle存储过程进行CRUD操作的基本流程,以及利用DOM4J解析XML配置文件和`ThreadLocal`管理数据库连接的方法。这样的设计使得程序更加模块化,易于维护,同时也...

    Java中的 模拟数据库实验

    - 熟悉DOM4J库的使用,能有效地对XML文件进行读写操作。 2. **环境搭建**: - **JDK安装**:首先需要安装JDK,可以选择默认安装路径或自定义路径,例如`C:\jdk`。安装完成后,需要配置环境变量,包括`JAVA_HOME`...

    java运用小程序

    在本项目"java运用小程序"中,重点在于利用Java技术处理XML文件,进行创建(Create)、读取(Read)、更新(Update)和删除(Delete)等CRUD操作。XML(Extensible Markup Language)是一种数据交换格式,常用于存储...

    基于Hibernate的Java对象持久化技术分析--农户征信管理平台的设计

    4. 农户征信管理平台设计:在这个平台中,农户信息、信用评估、借贷记录等关键数据都可以通过Hibernate进行持久化处理。通过定义对应的Java实体类,并使用Hibernate的注解或者XML配置文件建立对象与数据库表的映射,...

    开发中经常用的jar包集合

    在处理XML配置文件、进行XML数据交换时,Dom4j是开发者常用的选择。 除了这两个库,还提到了Hibernate,这是一个非常流行的Java对象关系映射(ORM)框架。虽然这个集合没有包含Hibernate 3.0的jar包,但开发者可以...

    EJB培训时候的笔记

    **DOM4J**: 在处理XML文档时,DOM4J是一个非常强大的库。它提供了DOM、SAX和StAX的API,简化了XML的解析、创建和修改。DOM4J的灵活性和效率使其成为EJB开发中处理XML的理想选择。 **Spring框架与EJB**: Spring框架...

    Hibernate所需jar包整合

    - dom4j.jar:提供XML处理功能,Hibernate使用它来读取和写入XML配置文件。 - hibernate-jpa-2.1-api.jar:JPA的API库,用于支持JPA规范。 - javassist.jar:动态类生成工具,Hibernate利用它来动态地修改类的...

    hibernate需要的jar包

    5. **dom4j-1.6.1.jar**:一个XML解析库,Hibernate使用它来处理XML配置文件和映射文档。 6. **slf4j-api-1.7.25.jar**:SLF4J的API库,为应用程序提供日志服务的接口。 7. **jaas.jar**:Java Authentication and...

    博客系统——JAVAEE

    在博客系统中,使用dom4j实现DAO与表现层的解耦,意味着可能利用XML配置文件来描述DAO层的逻辑,这样,当DAO层的改动不需修改表现层代码,降低了两者之间的依赖性,提高了系统的可扩展性。 5. **用户管理模块**: ...

    hibernate框架jar包

    5. **dom4j.jar**:DOM4J是一个Java文档对象模型库,用于处理XML文档。Hibernate使用它来处理映射文件(.hbm.xml)。 6. **ehcache.jar**:EhCache是一个内存缓存系统,用于提高数据库操作的性能。Hibernate可以...

    Hibernate快速起步

    在Hibernate中,dom4j用于解析和生成ORM配置文件(如hibernate.cfg.xml)以及映射文件(如.hbm.xml)。 3. `antlr-2.7.6.jar`: ANTLR是一个强大的解析工具,用于构建语法分析器。Hibernate使用ANTLR解析HQL...

    hibernate核心包

    3. `dom4j.jar`:DOM4J是一个强大的Java XML处理库,用于读写XML文件,被Hibernate用作XML文档处理工具。 4. `commons-collections.jar`:Apache Commons Collections库,提供许多实用的集合类和算法,为Hibernate...

    hibernate的一些jar包

    4. `dom4j-1.6.1.jar`:一个强大的XML处理库,Hibernate用它来解析和生成XML配置文件。 5. `ehcache-2.x.x.jar`:Ehcache是一个广泛使用的缓存库,Hibernate可选择性地集成它来实现缓存机制,提高性能。 6. `slf4j-...

    hibernate必须类

    5. **dom4j-1.6.1.jar**:DOM4J是一个用于处理XML的Java库,Hibernate使用它来读取和写入配置文件,如hibernate.cfg.xml。 6. **slf4j-api-1.5.8.jar 和 slf4j-simple-1.5.8.jar**:简单日志门面(SLF4J)提供了...

Global site tag (gtag.js) - Google Analytics