- 浏览: 488507 次
- 性别:
- 来自: 武汉
-
最新评论
-
zyzyzy123:
请问有工程吗,我现在正在实现打电话的功能,但是一直不通,怀疑是 ...
实用的java 串口通信程序 -
wuhaitong:
引用[img][/img][*][url][/url] ...
jbpm -
迷糊_le:
maven命令, 蛮好的,谢谢
maven eclipse -
Wuaner:
不错的文章 , 谢谢分享!
Hadoop -
yuqihengsheng:
strong 很细
HighLighter
dom4j 是一种解析 XML 文档的开放源代码 XML 框架,与 W3C DOM API 相比,使用 dom4j 所包含的解析器的好处是 dom4j 拥有本地的 XPath 支持.DOM 解析器不支持使用 XPath 选择节点.
该解析器可以从 http://dom4j.org/ 获取.
java 代码
- package com.nikee.dom4j;
- import org.dom4j.Document;
- import org.dom4j.DocumentHelper;
- import org.dom4j.Element;
- import org.dom4j.io.OutputFormat;
- import org.dom4j.io.XMLWriter;
- import java.io.*;
- public class XmlDom4J{
- public void generateDocument(){
- //使用 DocumentHelper 类创建一个文档实例。 DocumentHelper 是生成 XML 文档节点的 dom4j API 工厂类
- Document document = DocumentHelper.createDocument();
- //使用 addElement()方法创建根元素catalog , addElement()用于向 XML 文档中增加元素
- Element catalogElement = document.addElement("catalog");
- //在 catalog 元素中使用 addComment() 方法添加注释"An XML catalog"
- catalogElement.addComment("An XML Catalog");
- //在 catalog 元素中使用 addProcessingInstruction() 方法增加一个处理指令
- catalogElement.addProcessingInstruction("target","text");
- //在 catalog 元素中使用 addElement() 方法增加 journal 元素
- Element journalElement = catalogElement.addElement("journal");
- //使用 addAttribute() 方法向 journal 元素添加 title 和 publisher 属性
- journalElement.addAttribute("title", "XML Zone");
- journalElement.addAttribute("publisher", "IBM developerWorks");
- Element articleElement=journalElement.addElement("article");
- articleElement.addAttribute("level", "Intermediate");
- articleElement.addAttribute("date", "December-2001");
- Element titleElement=articleElement.addElement("title");
- titleElement.setText("Java configuration with XML Schema");
- Element authorElement=articleElement.addElement("author");
- Element firstNameElement=authorElement.addElement("firstname");
- firstNameElement.setText("Marcello");
- Element lastNameElement=authorElement.addElement("lastname");
- lastNameElement.setText("Vitaletti");
- //可以使用 addDocType() 方法添加文档类型说明
- //这样就向 XML 文档中增加文档类型说明:
- document.addDocType("catalog","nikee","file://c:/Dtds/catalog.dtd");
- try{
- //XMLWriter output = new XMLWriter(new FileWriter( new File("D:/eclipse3.2/workspace/WebServices/src/com/nikee/dom4j/catalog.xml")));
- FileOutputStream fos=new FileOutputStream("D:/eclipse3.2/workspace/WebServices/src/com/nikee/dom4j/catalog.xml");
- OutputFormat of=new OutputFormat(" ", true);
- XMLWriter xw=new XMLWriter(fos, of);
- xw.write( document );
- xw.close();
- }
- catch(IOException e)
- {
- System.out.println(e.getMessage());
- }
- }
- public static void main(String[] argv){
- XmlDom4J dom4j=new XmlDom4J();
- dom4j.generateDocument();
- }
- }
xml 代码
- <!--sp-->xml version="1.0" encoding="UTF-8"?>
- <!--CTYPE catalog PUBLIC "nikee" "file://c:/Dtds/catalog.dtd"</sp-->>
- <catalog>
- <!--An XML Catalog--><!--sp-->target text?>
- <journal title="XML Zone" publisher="IBM developerWorks">
- <article level="Intermediate" date="December-2001">
- <title>Java configuration with XML Schematitle>
- <author>
- <firstname>Marcellofirstname>
- <lastname>Vitalettilastname>
- author>
- article>
- journal>
- catalog>
XmlDom4J.java 用于创建 XML 文档 catalog.xml
java 代码
- package com.nikee.dom4j;
- import org.dom4j.Document;
- import org.dom4j.Element;
- import org.dom4j.Attribute;
- import java.util.List;
- import java.util.Iterator;
- import org.dom4j.io.OutputFormat;
- import org.dom4j.io.XMLWriter;
- import java.io.*;
- import org.dom4j.DocumentException;
- import org.dom4j.io.SAXReader;
- public class Dom4Jparser{
- public Dom4Jparser(){
- //construction
- }
- public void modifyDocument(File inputXml){
- try{
- //使用 SAXReader 解析 XML 文档 catalog.xml
- SAXReader saxReader = new SAXReader();
- Document document = saxReader.read(inputXml);
- //使用 XPath 表达式从 article 元素中获得 level 节点列表。如果 level 属性值是"Intermediate"则改为"Introductory"
- List list = document.selectNodes("//article/@level");
- Iterator iter=list.iterator();
- while(iter.hasNext()){
- Attribute attribute=(Attribute)iter.next();
- if(attribute.getValue().equals("Intermediate"))
- attribute.setValue("Introductory");
- }
- list = document.selectNodes("//article/@date" );
- iter=list.iterator();
- while(iter.hasNext()){
- Attribute attribute=(Attribute)iter.next();
- if(attribute.getValue().equals("December-2001"))
- attribute.setValue("October-2002");
- }
- //获取 article 元素列表,从 article 元素中的 title 元素得到一个迭代器,并修改 title 元素的文本
- list = document.selectNodes("//article" );
- iter=list.iterator();
- while(iter.hasNext()){
- Element element=(Element)iter.next();
- Iterator iterator=element.elementIterator("title");
- while(iterator.hasNext()){
- Element titleElement=(Element)iterator.next();
- if(titleElement.getText().equals("Java configuration with XML Schema"))
- titleElement.setText("Create flexible and extensible XML schema");
- }
- }
- list = document.selectNodes("//article/author" );
- iter=list.iterator();
- while(iter.hasNext()){
- Element element=(Element)iter.next();
- Iterator iterator=element.elementIterator("firstname");
- while(iterator.hasNext()){
- Element firstNameElement=(Element)iterator.next();
- if(firstNameElement.getText().equals("Marcello"))
- firstNameElement.setText("Ayesha");
- }
- }
- list = document.selectNodes("//article/author" );
- iter=list.iterator();
- while(iter.hasNext()){
- Element element=(Element)iter.next();
- Iterator iterator=element.elementIterator("lastname");
- while(iterator.hasNext()){
- Element lastNameElement=(Element)iterator.next();
- if(lastNameElement.getText().equals("Vitaletti"))
- lastNameElement.setText("Malik");
- }
- }
- FileOutputStream fos=new FileOutputStream("D:/eclipse3.2/workspace/WebServices/src/com/nikee/dom4j/catalog-modified.xml");
- OutputFormat of=new OutputFormat(" ",true);
- XMLWriter xw=new XMLWriter(fos, of);
- xw.write( document );
- xw.close();
- }
- catch(DocumentException e)
- {
- e.printStackTrace();
- }
- catch(IOException e){
- e.printStackTrace();
- }
- }
- public static void main(String argv[]){
- Dom4Jparser dom4jParser=new Dom4Jparser();
- dom4jParser.modifyDocument(new File("D:/eclipse3.2/workspace/WebServices/src/com/nikee/dom4j/catalog.xml"));
- }
- }
xml 代码
- <!--sp-->xml version="1.0" encoding="UTF-8"?>
- <!--<!DOCTYPE catalog PUBLIC "nikee" "file://c:/Dtds/catalog.dtd">-->
- <catalog>
- <!--An XML Catalog--><!--sp-->target text?>
- <journal title="XML Zone" publisher="IBM developerWorks">
- <article level="Introductory" date="October-2002">
- <title>Create flexible and extensible XML schematitle>
- <author>
- <firstname>Ayeshafirstname>
- <lastname>Maliklastname>
- author>
- article>
- journal>
- catalog>
Dom4Jparser.java用于修改 XML 文档 catalog.xml为catalog-modified.xml
发表评论
-
安装和使用memcached
2014-04-16 16:24 649如何将 memcached 融入到 ... -
applicationContext.xml
2013-08-09 09:05 952<?xml version="1.0&quo ... -
注释驱动的 Spring cache 缓存介绍
2013-08-08 07:04 670概述 Spring 3.1 引入了激动人心的基于注释(an ... -
Spring2.5 Annotations
2013-08-08 06:33 869完成setXxxx功能,即配置文件的 <propert ... -
Spring基于注解的缓存配置--EHCache AND OSCache
2013-08-07 23:21 1042本文将构建一个普通工程来说明spring注解缓存的使用方式, ... -
Ehcache 整合Spring 使用页面、对象缓存
2013-08-07 22:51 906Ehcache 整合Spring 使用页面、对象缓存 ... -
javassist教程和示例
2013-05-18 08:57 2023Javassist是一个执行字节 ... -
ZooKeeper官方文档
2013-05-16 17:09 1568介绍(源自ZooKeeper官方文档) 学习HBase过程 ... -
ZooKeeper -例子
2013-05-16 17:08 1232ZooKeeper ZooKeepe ... -
Spring整合Hessian访问远程服务
2013-05-15 13:44 867Spring整合Hessian访问远程服务 目录 1.1 ... -
redis
2013-05-14 11:44 778redis是一个key-value存储系统。和Memcach ... -
spring 资源访问
2013-05-13 08:26 1017spring在java基础上封装了资源访问,简单易用。 R ... -
ZooKeeper——入门
2013-05-08 16:12 918ZooKeeper——入门 博客分类: ZooK ... -
分布式服务框架 Zookeeper -- 管理分布式环境中的数据(IBM)
2013-05-08 14:07 793安装和配置详解 本文 ... -
分布式协调服务---Zookeeper
2013-05-08 14:05 7851、Zookeeper overview Zookee ... -
Hibernate
2013-03-28 13:04 937一、简述 Hibernate 和 JD ... -
Apache+Tomcat集群配置详解
2013-02-01 10:52 907Apache + Tomcat集群配置详解(1) 一、 ... -
Apache+Jboss集群基于反向代理的负载均衡
2013-02-01 10:40 2510假设三台机器IP分别为172.29.128.100、172. ... -
spring + ibatis 多数据源事务(分布式事务)管理配置方法
2012-12-17 15:18 1284spring + ibatis 多数据源事务(分布式事务 ... -
Hessian序列化不设SerializerFactory性能问题
2012-10-31 09:47 1521Hessian序列化不设SerializerFactor ...
相关推荐
在项目中使用DOM4J时,只需将相应的jar包(如dom4j-1.6.1.jar、dom4j-2.0.2.jar或dom4j-2.1.1.jar)导入到类路径中,即可开始利用其功能处理XML文档。导入后,可以按照DOM4J提供的API进行编程,快速实现XML的读写...
DOM4J是一个强大的Java库,专门用于处理XML文档。它提供了灵活且高效的API,使得XML的解析、创建、修改和查询变得简单易行。在Java世界中,DOM4J是与DOM、SAX和JDOM等其他XML处理库并驾齐驱的一个选择,尤其在处理...
DOM4J是一个强大的Java库,专门用于处理XML文档。它提供了灵活、高效的API,使得XML的解析、创建、查询和修改变得更为简单。在本文中,我们将深入探讨DOM4J 1.6.1版本的安装及其在Maven项目中的应用。 首先,DOM4J...
DOM4J是一个强大的Java库,专门用于处理XML文档。它提供了灵活、高效的API,使得XML的解析、创建、修改和查询变得简单。这次我们有两个版本的DOM4J库:1.6.1和2.0.0-ALPHA。这两个版本在功能、性能和API设计上都有所...
标题提及的"dom4j_1.6.1.jar"和"dom4j_2.1.0.jar"是两个不同版本的DOM4J库的Java档案文件,DOM4J是一个非常流行的Java XML API,用于处理XML文档。这两个版本的差异在于功能、性能优化和可能存在的bug修复。描述中...
dom4j-1.6.1.jar,Dom4j是一个Java的XML API接口,是jdom的进化版,dom4j基本用来读写xml文件,是一个十分优秀的JavaXML API接口
赠送jar包:dom4j-2.1.1.jar; 赠送原API文档:dom4j-2.1.1-javadoc.jar; 赠送源代码:dom4j-2.1.1-sources.jar; 赠送Maven依赖信息文件:dom4j-2.1.1.pom; 包含翻译后的API文档:dom4j-2.1.1-javadoc-API文档-...
DOM4J是一个强大的Java库,专门用于处理XML文档。它提供了简单而直观的API,使得开发者可以方便地读取、写入、修改以及操作XML文件。DOM4J 1.6.1是这个库的一个稳定版本,发布于较早时期,但依然广泛应用于许多Java...
DOM4J是一个强大的Java库,专门用于处理XML文档。它提供了灵活且高效的API,使得XML的解析、创建、修改和查询变得简单。DOM4J的名字来源于“Document Object Model for Java”,但它并不仅仅是一个DOM实现,它还包含...
DOM4J是一个强大的Java库,专门用于处理XML文档。它提供了灵活且高效的API,使得XML的解析、创建、修改和查询变得简单。DOM4J的名字来源于“Document Object Model for Java”,它采用面向对象的设计思想,提供了...
另一份重要的资源是"dom4j-2.1.3-sources.jar",它提供了DOM4J库的源代码,允许开发者深入研究DOM4J的内部实现,对于理解DOM4J的工作原理、进行扩展或者调试都是不可或缺的。通过阅读源代码,开发者可以学习到如何...
《深入解析DOM4J——基于Java的XML处理框架》 DOM4J,作为一个强大的Java XML API,是处理XML文档的主流工具之一。它提供了一套简单而高效的方式来操作XML文档,包括读取、写入、修改和遍历XML结构。在Java开发中,...
DOM4J是一个强大的Java库,专门用于处理XML文档。它是一个灵活且高性能的XML解析器,提供了丰富的API来创建、修改和操作XML数据。在Java应用程序中,DOM4J作为一个流行的选择,尤其在处理复杂的XML结构时,因为它...
标题提到的"所有版本的dom4j工具包"表明这是一个包含多版本DOM4J库的集合,可能包括了从早期到较新的一些版本,如dom4j-1.4.jar、dom4j-1.6.1.jar和dom4j-1.5.2.jar。这些不同版本的库可能分别对应于不同的功能特性...
### DOM4J框架解析教程 #### 一、DOM4J简介 DOM4J是一个非常优秀的XML解析工具,它由dom4j.org开发并提供。该工具不仅免费且开源,广泛应用于Java平台上,提供了对XML、XPath及XSLT的强大支持。DOM4J的设计充分考虑...
DOM4J 2.1.1 是一个针对Java平台的高效、开源的XML处理库,其全称为“Document Object Model for Java”。这个库提供了一系列强大的API,使得开发人员能够轻松地解析、创建、修改和操作XML文档。XML(eXtensible ...
赠送jar包:dom4j-2.1.1.jar; 赠送原API文档:dom4j-2.1.1-javadoc.jar; 赠送源代码:dom4j-2.1.1-sources.jar; 赠送Maven依赖信息文件:dom4j-2.1.1.pom; 包含翻译后的API文档:dom4j-2.1.1-javadoc-API文档-...
DOM4J是一个强大的Java库,专门用于处理XML文档。它提供了灵活、高效的方式来解析、创建、操作和理解XML数据。这个库在Java开发中广泛使用,因为它提供了比标准Java DOM API更简单、性能更好的XML处理方式。以下是...
当我们遇到“java.lang.ClassNotFoundException: org.dom4j.DocumentException”的错误提示时,这通常意味着系统中缺少了DOM4j库,只需将“org.dom4j.jar”添加到项目类路径中即可解决此问题。 DOM4J是基于DOM和SAX...