没有合适的资源?快使用搜索试试~ 我知道了~
DOM4J从基础到精通
5星 · 超过95%的资源 需积分: 9 45 下载量 47 浏览量
2010-12-30
09:19:44
上传
评论 2
收藏 45KB DOCX 举报
温馨提示
试读
13页
感谢“雪飘寒”原创与分享 目录 dom4j实例详解 1 目录 1 一、dom4j介绍 2 二、使用dom4j创建xml文档 3 三、使用dom4j解析xml文件 5 1. 构建dom4j树 5 2. 获取节点 5 3. 获取属性 6 4. 使用XPath获取节点和属性 6 四、使用dom4j修改xml文件 7 五、常用方法 8 1.Element元素API 8 2. Attribute属性API 8 2. 字符串转化 8 3. 命名空间(Namespace)操作 8 六、Qname介绍 10 七、Visitor模式 11
资源推荐
资源详情
资源评论
dom4j
dom4j
雪飘寒
2010-10-18
目录
dom4j.............................................................................1
目录..............................................................................1
一、dom4j 介绍......................................................................2
二、使用 dom4j 创建 xml 文档...........................................................3
三、使用 dom4j 解析 xml 文件...........................................................5
1. 构建 dom4j 树.................................................................5
2. 获取节点.....................................................................5
3. 获取属性.....................................................................7
4. 使用 XPath 获取节点和属性.......................................................7
四、使用 dom4j 修改 xml 文件...........................................................8
五、常用方法........................................................................9
1.Element 元素 API..............................................................9
2. Attribute 属性 API...........................................................9
2. 字符串转化...................................................................9
3. 命名空间(Namespace)操作.....................................................9
六、Qname 介绍.....................................................................11
七、Visitor 模式...................................................................12
1
dom4j
一、dom4j 介绍
dom4j 是一个 Java 的 XML API,类似于 jdom,用来读写 XML 文件的。dom4j 是一个非常非常优秀的 Java
XML API,具有性能优异、功能强大和极端易用使用的特点,同时它也是一个开放源代码的软件,可以在
SourceForge 上找到它。在 IBM developerWorks 上面可以找到一篇文章,对主流的 Java XML API 进行的
性能、功能和易用性的评测,dom4j 无论在那个方面都是非常出色的。如今你可以看到越来越多的 Java 软件都
在使用 dom4j 来读写 XML , 特 别 值 得 一 提 的 是 连 Sun 的 JAXM 也在用 dom4j 。 这 是 必 须 使 用 的 jar 包,
Hibernate 用它来读写配置文件。
dom4j 主要接口都在 org.dom4j 这个包里定义:
Attribute
Attribute 定义了 XML 的属性
Branch
Branch 为能够包含子节点的节点如 XML 元素(Element)和文档(Docuemnts)
定义了一个公共的行为,
CDATA
CDATA 定义了 XML CDATA 区域
CharacterData
CharacterData 是 一 个 标 识 借 口 , 标 识 基 于 字 符 的 节 点 。 如
CDATA,Comment, Text.
Comment
Comment 定义了 XML 注释的行为
Document
定义了 XML 文档
DocumentType
DocumentType 定义 XML DOCTYPE 声明
Element
Element 定义 XML 元素
ElementHandler
ElementHandler 定义了 Element 对象的处理器
ElementPath
被 ElementHandler 使用,用于取得当前正在处理的路径层次信息
Entity
Entity 定义 XML entity
Node
Node 为所有的 dom4j 中 XML 节点定义了多态行为
NodeFilter
NodeFilter 定 义 了 在 dom4j 节 点 中 产 生 的 一 个 滤 镜 或 谓 词 的 行 为
(predicate)
ProcessingInstruction
ProcessingInstruction 定义 XML 处理指令.
Text
Text 定义 XML 文本节点.
Visitor
Visitor 用于实现 Visitor 模式.
XPath
XPath 在分析一个字符串后会提供一个 XPath 表达式
看名字大致就知道它们的涵义如何了。要想弄懂这套接口,关键的是要明白接口的继承关系:
o interface java.lang.Cloneable
o interface org.dom4j.Node
interface org.dom4j.Attribute
interface org.dom4j.Branch
interface org.dom4j.Document
interface org.dom4j.Element
interface org.dom4j.CharacterData
interface org.dom4j.CDATA
interface org.dom4j.Comment
interface org.dom4j.Text
interface org.dom4j.DocumentType
interface org.dom4j.Entity
interface org.dom4j.ProcessingInstruction
一目了然,很多事情都清楚了。大部分都是由 Node 继承来的。知道这些关系,将来写程序就不会
出现 ClassCastException 了。
2
dom4j
二、使用 dom4j 创建 xml 文档
Document document = DocumentHelper.createDocument();
通过这句定义一个 XML 文档对象。
Element root = document.addElement("根节点名称");
通过这句定义一个 XML 元素,这里添加的是根节点。
Element 有几个重要的方法:
addComment : 添加注释
addAttribute : 添加属性
addElement : 添加子元素
最后通过 XMLWriter 生成物理文件,默认生成的 XML 文件排版格式比较乱,可以通过 OutputFormat 类格
式化输出,默认采用 createCompactFormat()显示比较紧凑,最好使用 createPrettyPrint()。
实例代码
public static void main(String[] args) {
// 创建文档。
Document document = DocumentHelper.createDocument();
// 设置文档 DocType,这里为了举例,添加 hibernate 的 DocType
document.addDocType("hibernate-configuration",
"-//Hibernate/Hibernate Configuration DTD 3.0//EN",
"http://hibernate.sourceforge.net/hibernate-configuration-3.0.dtd");
// 文档增加节点,即根节点,一个文档只能有一个根节点,多加出错
Element root = document.addElement("skills");
// 添加注释
root.addComment("第一个技能");
// 根节点下添加节点
Element first = root.addElement("skill");
// 节点添加属性
first.addAttribute("name", "独孤九剑");
// 节点下添加节点
Element info = first.addElement("info");
// 节点设置内容数据
info.setText("为独孤求败所创,变化万千,凌厉无比。其传人主要有风清扬、令狐冲。");
// 同理增加其他节点,内容,属性等
Element second = root.addElement("skill");
second.addAttribute("name", "葵花宝典");
Element info2 = second.addElement("info");
info2.setText("宦官所创,博大精深,而且凶险至极。练宝典功夫时,首先要自宫净身。");
/**
* 第二种方法增加节点,内容,属性等。先创建节点,属性,然后使用 add 加入。
*/
// 创建节点
Element third = DocumentHelper.createElement("skill");
// 将节点加入到根节点中
root.add(third);
// 创建属性,第一个参数指定了拥有者,也可以为 null,指定拥有者
Attribute name = DocumentHelper.createAttribute(third, "name", "北冥神
3
剩余12页未读,继续阅读
资源评论
- xcc2582012-11-08只能算是入门级文档。。但是用于平常处理是足够了。。。
- SSSummering1142014-07-20对初学者有用,谢谢分享
- 一夜涟涟枕雨眠2014-09-29初学者学习了
ak913
- 粉丝: 15
- 资源: 2
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功