`

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入门例子.txt

    中文 DOM4j入门例子 一。解析XML 二。使用迭代器: 三。强大的导航使用XPath: 四。快速循环 五。创建一个新的XML文档 六。记录到一个文件中的一个文件, 七。转换为字符串 八。用XSLT样式文档

    dom4j_java_dom4jpom_

    记录日志功能,开源软件,棒棒棒!非常好用,赞一个

    Log4j教程

    公司和企业在做项目的时候,工程师经常要用到的记录日志工具,此教程比市场上的要详细的多,特意分享给大家,希望一起学习快乐!!!

    用户信息管理

    用户注册信息写入dat文件,dom4j开源包读写xml,用户消费记录写入xml文件,实现注册、登录、基于消费时间,消费类型的添删改查。

    jsf_ajax_hibernate_jdbc_mysql_dwr演示视频

    该资源使用了众多的java软件开发项目用到的基本内容,包含jsf,ajax技术,hibernate映射,log4j记录日志和dom4j解析xml以及使用的dwr使用的ajax技术以及基本的ajax应用,数据库使用的是mysql。演示的是用户注册系统,...

    marc4j:截至2013.01.25,最初从Tigris CVS存储库导入的Git存储库

    MARC4J使命MARC4J的目标是...特征MARC4J库包括: 一个易于使用的界面,可以处理大型记录集。 MARC和MARCXML的读者和作家。 使用XSLT样式表对MARCXML进行预处理或后处理的内置管道模型。 一个MARC记录对象模型(例如DOM

    java大作业,实现学生信息增删改查

    必须使用XML文件来进行存储,必须使用DOM4J来实现XML操作。 XML文件格式如下:该文件存储名称必须为/WEB-INF/students.xml。必须实现安全验证,只有注册的用户才能 登陆系统,进行学生信息的管理。必须考虑并发...

    SSH 框架所需JAR包

    2.commons-logging-1.1.1.jar(ASF出品的日志包,struts2 2、spring、hibernate框架使用这个日志包来支持Log4J和JDK 1.4+的日志记录) 3.common-annotations.jar(支持注解的包) 4.aspectjrt.jar(支持AOP的包) 5....

    SSH 项目 整合jar包

    2.commons-logging-1.1.1.jar(ASF出品的日志包,struts2 2、spring、hibernate框架使用这个日志包来支持Log4J和JDK 1.4+的日志记录) 3.common-annotations.jar(支持注解的包) 4.aspectjrt.jar(支持AOP的包) 5....

    用Eclipse+Swing(JTable)+Mysql/xml实现的羽毛球费用管理系统源码

    可用于统计羽毛球活动的成本和记录会员的费用明细,本人热爱羽毛球活动并且组织羽毛球活动,利用业余时间编写了此系统,支持mysql和xml两种存储数据方式,对xml的数据读取查询用dom4j技术实现,希望能给大家带来帮助

    web项目常用jar包及说明.zip

    2.commons-logging-1.1.1.jar(ASF出品的日志包,struts2 2、spring、hibernate框架使用这个日志包来支持Log4J和JDK 1.4+的日志记录) 3.common-annotations.jar(支持注解的包) 4.aspectjrt.jar(支持AOP的包) 5....

    xerces-c++-3.1.3

    Xerces是一个开放源代码的XML语法分析器。 Xerces-C++ 的前身是 IBM 的...其特征及功能包括:兼容XML 1.0,能记录最近的DOM和SAX规范,可编程产生和验证XML,具有可内插的目录,具有验证和编码器,进行可定制错误处理。

    footprint.zip

    json解析为Excel和简单的格式化,生成结果在result.xls和result.txt中 网上看到一个很好的思路,记录下(缺点是实体类的定义需要预先知道所有的字段): ...还有一种是使用dom4j处理,感觉都不错,需要根据具体去选择

    quick.start:一个基于Java的快速开发框架,支持mysql,xml,json等的基本操作

    发布MySQL 5.1.26 Dom4j 1.6.1 杰克逊2.9.9 Lombok1.18.10 杰克1.8默认Mysql功能方法说明布尔has(可序列化ID)根据主键检查记录是否存在E findById(可序列化的ID)根据主键查找对象列出findByIds(Collection &lt;...

    wechat:记录javaweb编写微信server的学习历程

    20150908 将属性中的项目资源从GBK更改为UTF-8 将src目录从/ WEB-INF / src更改为/ src 导入dom4j.jar以进行XML解析 响应微信TEXT类型msg

    记录簿

    HTML,CSS,JavaScript使用提取API加载csv数据操作系统:Windows需求分析及实现思路展示数据和统计支出,收入情况展示数据是需求中最简单的部分,只需要用JS创建新的Dom并添加到父级容器中。在此之后上我根据CSV...

    java常用的jar包

    我把平时最常用到的jar包给整理起来,如数据库连接驱动包、解析xml用的jdom包、记录日志的log4j包等等。

    Proj.TamperStudy:TamperMonkey脚本使视频讲座更容易记录笔记。 调整视频速度,复制当前时间戳和最近的字幕。 YouTube,Evernote的快捷方式

    Chrome的TamperStudy 在制品。 TamperMonkey Chrome脚本简化了视频讲座的笔记。 将当前时间戳和最近的... 使用Alt-J和Alt-K可以上下导航笔记。 Ctrl-Space调用注释搜索。 主菜单的其他一些快捷方式(在笔记本电脑之间

Global site tag (gtag.js) - Google Analytics