没有合适的资源?快使用搜索试试~ 我知道了~
DOM4j属性的详细介绍及相关的例子
4星 · 超过85%的资源 需积分: 23 42 下载量 182 浏览量
2008-10-31
17:12:42
上传
评论
收藏 110KB DOC 举报
温馨提示
试读
13页
介绍DOM4J的主要接口的使用方法,Elementorg.dom4j.Attribute : Attribute接口定义了XML文件的属性 org.dom4j.Branch:Branch为能够包含子节点的节点如XML元素和文档定义了一个公共为 org.dom4j.CDATA : CDATA定义了XML CDATA区域 org.dom4j.CharacterData: CharacterData是一个标识接口,标识基于字符的节点。 org.dom4j.Comment : Comment定义了XML注释的行为 org.dom4j.Document : Docement接口定义了XML文档 org.dom4j.Element : Element定义了XML元素 org.dom4j.ElementHandler: ElementHandler定义了Element对象的处理器 org.dom4j.ElementPath :被ElementHandler使用,用于取得当前正在处理的路径层次息 org.dom4j.Entity : Entity定义XML entity org.dom4j.Node : Node为所有的dom4j中XML节点定义了多态行为 org.dom4j.NodeFilter:NodeFilter定义了在dom4j节点中产生的一个滤镜或谓词的行为 org.dom4j.ProcessingInstruction : ProcessingInstruction定义XML处理指令
资源推荐
资源详情
资源评论
DOM4j 使用介绍
1 HTML 的缺点以及 XML 的产生原因
最初是一种表义的标记语言,的发明人最初发明的
主要目的是为了与研究物理的同事交流方便(他当时是(欧洲粒子物理实验室)的研
究人员)。超链接可以很方便地把关于物理学研究的各种资源连接起来。最初只是
设计用来交流文本信息的,最初的从外表上看就是简单的文本,没有多少表示显示
格式的标记。后来发现了和超链接的商业价值,开发出了世界上第
一个图形界面的浏览器。随后与别人合作开了公司,并
且制造出当时最成功的浏览器。为了提高浏览器的表现能力,显示更加
丰富的内容,就有必要扩充,添加各种与显示格式有关的标记和属性,并且把对多
媒 体 的 支 持 加 进 去 。 例 如 、 、 、 、 、 等 等 。
大为成功,尤其是在其推出强大的脚本语言!和支持"并
且能在页面中运行!后。甚至有人认为浏览器就是下一代的操作系统,将来开发
的所有应用程序都应该是针对浏览器开发的。是当年#$%&'(新股上市)最
成功的公司,一夜之间成为了亿万富翁。这引起了软件之王(的注意和
警觉,(认为正在对其构成威胁,一定要把击垮,占据互联网这个战
略制高点。而互联网最重要的应用软件就是浏览器,于是(推出了自己的浏览器%
),并且采用免费和捆绑等不正当竞争手段,在*、+年内将彻底赶出了浏
览器市场。如今这个产品已经彻底消亡,只留下了它开源后浴火重生的 ,
继续在与%进行着顽强的抗争。不过由于")桌面应用已经走向成熟,所以将来,
也会有很好的前景。在与%角力的几年时间里,两大浏览器都为了提高自己的表
现能力各出奇招。他们不断推出新的只有自己才支持的、互不兼容的标记。-.为
了考虑工业界的需求也在不断地扩充规范,以求各种浏览器能够有一个兼容的基础。
经历了/01、.0/、*01等重要版本后已经非常庞大,完全背离了最初设计主要
用来表义的初衷,其中含有大量表示显示格式的标记。结果是实现一个完全的 浏览
器越来越困难和复杂,%和的规模都达到了21以上。为减肥的呼声越来
越高。为了解决这个问题,以利于-的健康发展,-.设计了3。
3的设计思想来自于古老的4(其实的设计思想也是来自于4)。 4
是 % 创 造 的 一 个 用 于 出 版 业 的 文 档 格 式 标 准 , 后 来 被 %' 采 纳 作 为 国 际 标 准
(%'5567)。 4把文档内容与文档格式完全分离开,使得内容提供者与排版人员的工
作可以相互独立。4是一种非常严谨的标记语言,但是4的问题是过于复杂,一个
基于4的出版系统开发成本高昂,价格不菲,只有象%那样的大型企业才有能力购
买这样的系统。4过于重量级的特点使其完全不适合用于-领域。而且4的设
计完全是面向文档的,而不是面向数据的,大量基于-的应用是面向数据的应用。-.
参考4设计了新一代的标记语言3,3——可扩展标记语言是一种元语言(我们
使用的也可以称做是一种元工具),它可以建造其它任意种类的标记语言。3实
现了-.最初设定的所有目标,轻量级、易于理解、扩展性好、平台中立、兼顾文档和数
据。实际上3规范只有几十页,只是4规范的2821左右。
2
XML 格式
我们来看看3具体格式:
9):;201;:;<=5;9
>
>?@:;A;
B#*C"8B
8>
>?@:;A;
B""8B
8>
>?@:;;
B"B8B
8>
@'DA8@
8>
3 开发 XML 应用的 3 个层次
基于3的应用从逻辑上分成.个层次,下面是3文档或数据,中间是3解析
器,上面是3应用程序。3解析器的作用是使用某种3&%读入并解析3,将
3建造(")为内存中的数据结构,便于应用程序处理。由于3是基于文本的,具
有平台中立性,各种语言都有相应的3解析器。
4
解析 XML 的 API
解析3的&%有几种:标准的-.#'、3、!的!#'。
标准的-.#'就是把整个3读到内存中形成一棵树状结构,然后用各种方法对这棵
数进行遍历、修剪等操作。因为#'是-.的正式标准,所有的语言都有支持#'的
解析器,包括!、&、!等等。标准#'的缺点是3应用程序在处理3
之前必须把整个3读进内存,如果3非常大,例如21,解析的过程是非常慢的。
所以标准#'只适合于小型3的处理。为了更好地解决大型3处理的问题,!开
发人员发明了3。3的处理方式是这样,为每一个元素、属性、内容(这些都认为是
事件)定义一个回调方法,这个回调方法由应用程序提供,解析器以流的方式读入 3,
当遇到某个元素、属性、内容时就调用相应的回调方法。3的优点是处理效率高,适合
处理大型3。缺点是对3修改起来不方便,实际上3/01以前的版本是不支持对
3的修改的。而且3处理3中前后相互关联的元素时也没有#'方便,因为你必
须自己保留以前事件的状态信息。但是3还是取得了巨大的成功,后来3还被移植到
了EE等语言中。除了3,聪明的!程序员还发明了!#',!#'解决了标准#'
和3的问题,可以说是目前最好的3&%。
5
XML 相关解析器介绍
基于3的应用程序从逻辑上分成.个层次,下面是3文档或数据,中间是3
解析器,上面是3应用程序。3解析器的作用是读入3文档或数据,将3建造
(")为内存中的数据结构,便于应用程序处理,或者根据3中包含的信息,调用应
用程序提供的回调方法。由于3是基于文本的,具有平台中立性,各种语言都有相应的
3解析器。
处理3的&%有这几种:#'、3、!3&、!#'和#'*!,这几种是最常用的,还有
其它的一些不常 用的 &% 。其中 #' 可以用于多种语言, 3 可以用于 ! 与E
E,!3&、!#'和#'*!只能用于!。一个3解析器至少需要实现#'或3两种
&%中的一种,不过现在常用的!3解析器都同时实现了#'、3和!3&.种
&%。!#'和#'*!是由单独的包(C)来实现的,使用!#'和#'*!需要得到标准
的3解析器的支持。目前在众多的!3解析器中使用最广的是3和,
它们都是开源软件组织?软件基金会资助的开源软件。其中3最初的代码来自
%的贡献,最初的代码来自"的贡献。!#F20*以后的版本中已经包括有3
解析器,因此不再需要另外的3解析器。%!#F20*本带的3解析器是3的早
期版本,"!#F20*本身带的3解析器是的早期版本(孩子总是自家的亲)。
不过即使使用!#F20*,你仍然可以使用其它的3解析器。在我们的开发中全部使用
3,主要是因为3在所有!3解析器中功能是最丰富的,根据性能测试
3的性能要比好的多,而且我们在")上出于性能的考虑全部使用%的
!8!#F。
DOM 简介:
#'对于3的处理方式就是把整个3读到内存中形成一棵树状结构,然后用各
种方法对这棵数进行遍历、插入、删除、修剪等操作。因为#'是-.的正式标准,所
有的语言都有支持#'的解析器,包括!、8EE、&、!等等。#'的优点
是信息量丰富(全部都在内存中),而且可以随机访问,尤其是在处理前后相互关联的元
素时非常方便。#'的缺点是3应用程序在处理3之前必须先由3解析器把整个
3读进内存并生成树状结构,如果3非常大,例如21,解析的过程是非常慢的。如
果再加上3转换(这是一种必须要使用#'的操作)这类同样耗费资源的操作,可能
会耗尽系统的内存资源。所以标准#'只适合于中小型3的处理。
SAX 简介:
为了更好地解决大型3处理的问题,!开发人员发明了3。3采用事件驱动
的方式来处理3,它的处理方式是:为每一个元素、属性、内容(这些都认为是事件)
定义一个回调方法,这个回调方法由应用程序提供。解析器以数据流的方式读入 3,当
遇到某个元素、属性、内容时就调用相应的回调方法。3的优点是处理效率高,适合处
理大型3。缺点是3对3是只读的,不能够对3进行写操作,而且3处理3
中前后相互关联的元素时也没有#'方便,因为应用程序必须自己保留以前事件的状态
信息。但是3还是取得了巨大的成功,后来3还被移植到了EE等语言中。3更详
细的优缺点可以查看《3高级编程》第G章的内容,我们这里有这本书的电子版。
JAXP 简介:
你们对3熟悉了以后可能会经常听到!3&这个词。!3&其实不是一个独立的3
&%,它的作用是为了解决不同的3解析器之间的兼容性问题的。在"推出!3&之前,
商业公司(%、'、",0)、 3专业研究者以及开源软件爱好者开发出来多
种多样的3解析器。这些解析器有的仅仅实现了#'&%,有的同时实现了 #'和
3。在我学习3的过程中,我所知道的!3解析器就有6、5种。这些不同的3
剩余12页未读,继续阅读
l_zhidong
- 粉丝: 0
- 资源: 18
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功
- 1
- 2
前往页