




已阅读5页,还剩14页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
,Xml文档模型与数据邦定 Date:2005/01/25,Trainer :,Version:0.1,培训课程介绍与目标,培训目标: Ibatis介绍 了解Hibernate与Ibatis区别 掌握Ibatis的配置,使用 掌握Ibatis在应用程序中方法使用 了解Ibatis数据关联处理机制 了解Ibatis事务处理机制 了解Ibatis缓存处理机制 估计用时:1小时,涵盖内容,Xml文档模型介绍 Xml数据邦定介绍,Xml文档模型介绍,Xml文档模型指的是支持使用文档表示的库和 API 。 当前可用的xml文档模型工具很多,比如说DOM、SAX、JDOM、DOM4J 等等。,DOM简介,DOM 对于 XML 的处理方式就是把整个 XML 读到内存中形成一棵树状结构,然后用各种方法对这棵数进行遍历、插入、删除、修剪等操作。因为 DOM 是 W3C 的正式标准,所有的语言都有支持 DOM 的解析器,包括 Java、C/C+、Perl、JavaScript 等等。DOM 的优点是信息量丰富(全部都在内存中),而且可以随机访问,尤其是在处理前后相互关联的元素时非常方便。DOM 的缺点是 XML 应用程序在处理 XML 之前必须先由 XML 解析器把整个 XML 读进内存并生成树状结构,如果 XML 非常大,例如 10M,解析的过程是非常慢的。如果再加上 XSLT 转换(这是一种必须要使用 DOM 的操作)这类同样耗费资源的操作,可能会耗尽系统的内存资源。所以标准 DOM 只适合于中小型 XML 的处理。,SAX简介,为了更好地解决大型 XML 处理的问题,Java 开发人员发明了 SAX。SAX 采用事件驱动的方式来处理 XML,它的处理方式是:为每一个元素、属性、内容(这些都认为是事件)定义一个回调方法,这个回调方法由应用程序提供。解析器以数据流的方式读入 XML,当遇到某个元素、属性、内容时就调用相应的回调方法。SAX 的优点是处理效率高,适合处理大型 XML。缺点是 SAX 对 XML 是只读的,不能够对 XML 进行写操作,而且 SAX 处理 XML 中前后相互关联的元素时也没有 DOM 方便,因为应用程序必须自己保留以前事件的状态信息。但是 SAX 还是取得了巨大的成功,后来 SAX 还被移植到了 C+ 等语言中。,JAXP 简介,JAXP 其实不是一个独立的 XML API,它的作用是为了解决不同的 XML 解析器之间的兼容性问题的。在 Sun 推出 JAXP 之前,商业公司(IBM、Oracle、Sun,etc.)、XML 专业研究者以及开源软件爱好者开发出来多种多样的 XML 解析器。这些解析器有的仅仅实现了 DOM API,有的同时实现了DOM 和 SAX。这些不同的 XML 解析器各有各的特长,它们虽然都遵从 W3C DOM 或 SAX 的规范,但是或多或少存在着一些差别,这使得为一种解析器编写的应用程序移植到另一种解析器变得有些困难(也不是非常困难,只是不太方便)。为了解决这个问题,Sun 在 DOM、SAX 的 API 之上加了一个抽象层(基本上就是加了一个抽象工厂的设计模式,如果你们对设计模式有所了解的话),这就是 JAXP。JAXP 主要采用反射的方式来工作,可以动态加载所使用的 XML 解析器。使用 JAXP 来做 XML 开发,可以完全忽略不同的 XML 解析器之间的差别,不需要修改代码就可以更换成另外的 XML 解析器。JAXP 目前已经得到大多数 Java XML 解析器的支持。除了封装 DOM、SAX 的那些工厂类外,JAXP 还包含用于 XSLT 转换的 API(也是一些工厂类),这些功能在 javax.xml.transform 这个包里。,JDOM 简介,除了 SAX,Java 开发人员还发明了 JDOM。虽然名字里有 DOM,JDOM 其实与 DOM 毫无关系。JDOM 严格说来其实是一种对象模型,除了处理 XML,还可以用于很多其它用途。JDOM 的输入可以有多种格式,输出也可以有多种格式。这些格式包括 XML 文件或数据流、Java 属性文件、标准 DOM 树等等。JDOM 利用 SAX 或 DOM(一般是用 SAX,极少用 DOM)读入 XML 中的信息后在内存中生成自己的数据结构,就是通过组合(composition)关系嵌套在一起的一系列对象,然后用 Java 程序员最习惯的面向对象的方式来处理这些数据,处理结束后可以非常方便地输出成各种格式。和 DOM、SAX 相比,用 JDOM 来做 XML 开发更加容易(代码量更少)。JDOM 的主要的缺点是最初的设计未考虑性能问题,因此性能很差,而且全部使用具体类来实现导致了灵活性较差,但是考虑到易用性和开发效率,JDOM 仍然得到了广泛的使用。,DOM4J 简介,由于 JDOM 本身存在着一些设计缺陷,开发到一半,JDOM 的一些开发人员分了出来重新启动了一个开源项目 DOM4J。DOM4J 与 JDOM 所要达到的目标是一样的,即提供一套比 DOM、SAX 使用更加方便的处理 XML 的 API,同时避免 DOM、SAX 的主要缺点。DOM4J 重新做了设计,完全基于接口和多态,因此提高了灵活性。DOM4J 在概念上对 XML 的理解与 DOM 非常相似,只要你理解了 DOM,你就可以轻而易举地理解 DOM4J,实际上 DOM4J 可以看做是一个更好的 DOM 实现。而且 DOM4J 保持了 JDOM 的易用性,性能上也比 JDOM 有了非常大的提高。,性能比较,根据IBM网站较权威的文章里介绍的评测,DOM4J无论在文档创建时间、文档遍历时间、文档修改时间、文档生成时间、文档内存大小、序列化输出时间、序列化输入时间、序列化文档大小方面的评测,DOM4J都要优于JDOM。,功能比较,文档模型与数据邦定比较,文档模型和数据绑定都在内存中建立文档的表示,都需要在内部表示和标准文本 XML 之间双向转换。两者的区别在于文档模型尽可能保持 XML 结构,而数据绑定只关心应用程序所使用的文档数据。,数据邦定介绍,数据绑定是指取出一些数据(比如从 XML 文档、文本文件或者数据库中)并通过程序表示这些数据的过程把数据绑定 到虚拟机(VM)能够理解并且可以操作的某种内存中结构。相应地,数据绑定软件包应该能够用 VM 上修改的数据更新底层存储媒介(XML 文档、文件或数据库分区)中的数据。有了数据绑定,应用程序可以在很大程度上忽略文档的实际结构,而直接使用那些文档的数据内容。,Xml数据邦定工具介绍,当前可使用的数据邦定工具有以下几种: Xstream、Xmlbeans、Castor XML 、JAXB等,Xstream简介,XStream是codehaus上的一个开源项目,该项目的license使用BSD license。 它是一个简单的类库用于将java对象编组和数据分解。它是一种轻量级的xml数据邦定技术。其最大的特点就是简单易学,速度快。不需要定义映射文件,通过在程序代码中自定义java对象和xml文件的转换格式。,Xmlbeans简介,XMLBeans是Bea公司转赠给Apache组织的一个项目,该项目的license使用Apache license。用于访问和处理xml数据和文档。它是一种xml数据邦定工具。使用XMLBeans可以让您用面向对象的观点来对待和处理xml数据和文档,同时又可以忠实于该xml数据对应的xml结构和schema。通过使用xmlBeans,开发者可以完整的访问该XML数据和对象的丰富内容和Schema信息。,Castor xml简介,Castor XML是一个xml数据邦定框架,它支持支持映射绑定和生成绑定两种方式。通过映射邦定,可以利用现有的java类与xml文件实现一种映射关系,Castor XML通过使用xml文件来实现映射邦定的。生成邦定,使用xml schema来生成java类,从而实现java类与xml文件的数据邦定功能。,参考网址以及参考文档,/developerWorks/cn/index.shtml /index.jsp / / / 使用开
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年黑河市就业见习人员招募考前自测高频考点模拟试题附答案详解(考试直接用)
- 2025国有四大银行远程银行中心诚聘客服代表招聘模拟试卷(含答案详解)
- 2025年黑龙江农业职业技术学院事业单位公开招聘工作人员26人模拟试卷及一套答案详解
- 2025福建农信春季招聘194人报考须知考前自测高频考点模拟试题及答案详解(易错题)
- 2025福建福州文教职业中专学校招聘1人考前自测高频考点模拟试题附答案详解(完整版)
- 2025广东中山大学附属第五医院各岗位人才招聘(第二批)考前自测高频考点模拟试题及完整答案详解一套
- 2025广西柳州市柳江中学参加广西师范大学2025届研究生毕业生春季专场双选会招聘11人考前自测高频考点模拟试题及参考答案详解1套
- 2025华录集团上市子公司易华录校园招聘笔试题库历年考点版附带答案详解
- 2025中国电信研究院春季校园招聘笔试题库历年考点版附带答案详解
- 2025企业员工合同协议范本版
- 国庆节主持词开场白
- 前列腺癌根治术护理查房课件
- 经销商加盟合同模板
- 英语四级核心词690个附高频词汇表
- 国家开放大学《建筑工程质量检验》形考任务1-4附参考答案
- (高清版)JTG 6310-2022 收费公路联网收费技术标准
- 一级学科中英文名称对照表
- 2001年版与2011年版义务教育英语课程标准
- 月骨脱位与月骨周围脱位-课件
- 7-3审计报告附注(小企业会计准则)
- 党史专题讲座知到章节答案智慧树2023年哈尔滨工程大学
评论
0/150
提交评论