`

dom4j使用记录

    博客分类:
  • java
阅读更多

我使用的版本为:dom4j-1.6.1
使用时出现的异常:
java.lang.NoClassDefFoundError: org/jaxen/JaxenException
需要导入jaxen-1.1-beta-6.jar包。

使用 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");


向 article 元素中添加 journal 元素。

Element articleElement=journalElement.addElement("article");


为 article 元素增加 level 和 date 属性。

articleElement.addAttribute("level", "Intermediate");
articleElement.addAttribute("date", "December-2001");


向 article 元素中增加 title 元素。

Element titleElement=articleElement.addElement("title");


使用 setText() 方法设置 article 元素的文本。

titleElement.setText("Java configuration with XML Schema");


在 article 元素中增加 author 元素。

Element authorElement=articleElement.addElement("author");


在 author 元素中增加 firstname 元素并设置该元素的文本。

Element firstNameElement=authorElement.addElement("firstname");
firstNameElement.setText("Marcello");


在 author 元素中增加 lastname 元素并设置该元素的文本。

Element lastNameElement=authorElement.addElement("lastname");
lastNameElement.setText("Vitaletti");


可以使用 addDocType() 方法添加文档类型说明。

document.addDocType("catalog", null,"file://c:/Dtds/catalog.dtd");


这样就向 XML 文档中增加文档类型说明:

<!DOCTYPE catalog SYSTEM "file://c:/Dtds/catalog.dtd">


如果文档要使用文档类型定义(DTD)文档验证则必须有 Doctype。

XML 声明 <?xml version="1.0" encoding="UTF-8"?> 自动添加到 XML 文档中。


/********************************
* 查询已经存在XML文件或XML注入流,
* 获取指定的列,并返回列的集合。
********************************/
package com.zjhk.dom.impl;

import java.io.File;
import java.io.InputStream;
import java.util.Iterator;
import java.util.List;
import java.util.ArrayList;
import org.dom4j.Document;
import org.dom4j.DocumentException;
import org.dom4j.DocumentHelper;
import org.dom4j.Element;
import org.dom4j.io.SAXReader;

public class IDomImpl {

private Document doc;
private SAXReader saxread=new SAXReader();

//生成一个空的Document
public IDomImpl()
{
this.doc=DocumentHelper.createDocument();
}

//使用file初始化Document
public IDomImpl(File file) throws Exception
{
this.doc=saxread.read(file);
}

//使用file初始化Document
public IDomImpl(String file) throws Exception
{
this.doc=saxread.read(new File(file));
}

//使用InputStream初始化Document
public IDomImpl(InputStream is) throws Exception
{
this.doc=saxread.read(is);
}

/****************************************
* 功能:返回XPATH表达式所表示的结点值记录的集合
* @param path XPATH表达式
* @return list
****************************************/
public List<String> parse(String path) throws Exception
{
List list=this.doc.selectNodes(path);

List<String> ls=new ArrayList<String>();
Iterator iter=list.iterator();
while(iter.hasNext())
{
Element elem=(Element)iter.next();
ls.add(elem.getText());
}
return ls;
}

public static void main(String args[]) throws Exception
{
IDomImpl imp=new IDomImpl("F:/xiao1.xml");
System.out.println(imp);
List<String> ls=imp.parse("//id");
Iterator<String> it=ls.iterator();
System.out.println("******BEGIN******");
System.out.println("Nodes:");
while(it.hasNext())
{
System.out.println("------"+it.next());
}
System.out.println("*******END*******");
}
}

分享到:
评论

相关推荐

    dom4j dom4j dom4j dom4j

    尽管DOM4J功能强大,但在某些特定情况下,如需要高度优化的性能或内存使用,可能需要考虑其他XML处理库,如StAX(Streaming API for XML)或VTD-XML。不过对于大多数常规XML处理任务,DOM4J已经足够胜任,并且由于其...

    dom4j-1.6.1

    下面将详细探讨DOM4J的主要特性、使用方法以及它如何优化XML处理。 1. **DOM4J的基本概念** - DOM4J的核心思想是提供一个灵活的、面向对象的模型来处理XML文档,包括元素、属性、文本节点等。 - 它不仅支持标准的...

    dom4j-1.61完整jar包

    它能够与DOM4J、JDOM、XOM等多个XML API协同工作,让开发者能够在不同的XML环境中使用XPath表达式。Jaxen提供了API来评估XPath表达式,返回匹配的节点集,以及执行XPath函数和操作。 **Sitemesh-2.2.1.jar** ...

    DOM4j和log4j例子详解

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

    log4j和dom4j插件

    例如,一个Java应用可能使用`log4j`记录用户登录、操作日志,同时利用`dom4j`解析XML配置文件以动态配置应用的行为。 在提供的压缩包中,`lo4j_jar包`包含了`log4j`的库文件,开发者可以直接引入到项目中使用。而`...

    dom4j 1.6.1 JavaDoc

    DOM4J 1.6.1的JavaDoc包含了这个库的所有类、接口、方法、构造函数及其详细说明,是开发人员理解和使用DOM4J库的重要参考资料。 以下是一些关键的知识点: 1. **Element 和 Document**: DOM4J的核心类包括`Element...

    dom4j-1.6.1.jar和ojdbc14_g.jar包

    dom4j是一个灵活且功能强大的Java XML API,它提供了一种高效且易于使用的结构来读取、构建、修改和写入XML文档。dom4j-1.6.1是其一个版本,包含了对XML解析、操作和序列化的全面支持。 1. XML解析:dom4j采用事件...

    log4j和dom4j jar包

    相比于Java自带的DOM和SAX解析器,`dom4j`更加易于使用,性能也更优。它支持XPath查询,能够直接操作XML文档的元素、属性和文本内容。 例如,以下是一个简单的`dom4j`代码示例,演示了如何读取和修改XML文档: ```...

    dom4j帮助文档+教程

    - 日志记录:XML格式的日志文件可以通过DOM4J进行分析和处理。 - 数据绑定:将XML数据映射到Java对象,如JAXB就是基于这种思想实现的。 总结来说,DOM4J是Java开发中处理XML文档不可或缺的工具,它提供了一整套完善...

    dom4j解析 递归

    **DOM4J解析递归详解** DOM4J是Java中一个强大的XML处理库,它提供了丰富的API用于XML的解析、创建、操作以及遍历。在处理复杂的XML文档时,经常需要用到递归方法来深入到XML的各个层级进行访问。本文将深入探讨DOM...

    dom4j-1.6.1 api以及源码

    DOM4J API使用示例** - **创建XML文档**: ```java DocumentFactory factory = DocumentFactory.getInstance(); Document document = factory.createDocument(); Element root = document.addElement("root"); ...

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

    - 使用DOM4J创建新的XML文件或者更新现有文件是一个常见的任务。例如,`save.properties`可能是记录程序运行时配置的文件,DOM4J可以用来动态生成或修改这些配置。通过创建Element对象,设置属性和子元素,然后将...

    dom4j最新版,及其i增删改

    DOM4J是一个强大的Java库,专门用于处理XML文档。它提供了灵活且高效的API,使得XML的解析、创建、修改和查询变得更为简单。在本文中,我们将深入探讨DOM4J的最新版本及其在XML文档中的增删改查操作。 DOM4J的核心...

    dom4j

    博客链接()可能包含了DOM4J的使用示例、进阶技巧或是解决常见问题的方法,对于深入学习DOM4J会有很大的帮助。通过阅读这篇博客,你可以了解到更多DOM4J的实际应用和最佳实践。 在实际开发中,掌握DOM4J能极大地...

    dom4j下的sax解析xml

    DOM4J库是Java中广泛使用的XML处理工具,它提供了SAX解析XML的功能。SAX(Simple API for XML)是一种事件驱动的解析器,适用于处理大型XML文档,因为它不需要将整个文档加载到内存中,因此在处理大文件时比DOM...

    dom4j+jstl+beanUtils+log4j

    在Web开发领域,DOM4J、JSTL、BeanUtils和Log4j是四个非常重要的工具库,它们各自为开发者提供了强大的功能支持。下面将详细解释这些库的主要用途和使用方法。 1. DOM4J: DOM4J是一个Java库,用于处理XML文档。它...

    dom4j基于xml做数据库的登录与注册 动态验证码

    这些信息被发送到服务器,服务器使用DOM4J解析XML文件查找匹配的用户记录,验证密码和验证码,然后返回登录成功或失败的信息。 综上所述,DOM4J在基于XML的登录注册系统中起到了桥梁的作用,连接着数据库和XML数据...

    dom4j源码+使用文档

    6. **事件处理**:DOM4J支持事件监听,可以在解析XML文档时触发自定义的处理函数,例如验证数据或记录日志。 7. **Namespace支持**:XML命名空间是解决命名冲突的关键,DOM4J提供全面的支持,可以方便地处理带有...

    dom4j&commons;-loggings--jar开发包

    标题中的"dom4j&commons-logging-jar开发包"表明这是一个包含dom4j和commons-logging两个Java库的开发包,主要用于XML处理和日志记录。这里的"jar"指的是Java Archive文件,是Java平台中用于打包类文件和其他资源的...

    JDOM_Dom4j.rarJDOM_Dom4j.rar

    总的来说,这个压缩包是学习和使用JDOM和Dom4j的宝贵资源,包含了这两个库的基础知识、使用方法以及可能的示例代码。通过深入学习,开发者可以提升处理XML文档的能力,为Java应用程序添加更强大的XML支持。

Global site tag (gtag.js) - Google Analytics