下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
用XML统一信息格式□要解决信息的冗余问题,完全依赖人工智能算法是不可行的。在这方面首先要做的就是统一信息的格式,XML就是人们在这个方向上做出的重大努力和成果。□当人们连入互联网,扑面而来的是无穷无尽的信息。可是这些信息的冗余度非常高。在使用Google进行搜索时,大部分人所进行的搜索都会返回上千条结果,但也许只有很少一部分是不重复的信息。要解决信息的冗余问题,完全依赖人工智能算法是不可行的。在这方面首先要做的就是统一信息的格式,XML就是人们在这个方向上做出的重大努力和成果。 基于XML的数据处理实际上分为以下几大领域:•对XML原始文档的解析; •对XML原始文档的验证;■对XML数据的各种操作;•对XML原始文档的转换。□在目前所有的编程语言中,只有Java在上述各个领域都提供了大量的方便易用的XML数据处理工具,并且,几乎所有工具都是免费和开源的。因此,我们谈到XML,就不能不提到Java,下面我们将分别介绍这些领域中基于Java:的XML数据处理基础支撑技术和应用。□对文档的解析XML数据基于标记,很方便用户阅读和计算机理解,但是与以前基于普通文本和二进制的数据相比,在程序里对XML数据文件进行解析的难度加大了。因此,从一开始,人们就在考虑对XML数据文件的解析问题。到目前为止,人们已经想出了多种办法来解析XML,并制定了一些规范和事实上的标准。 •SAXSAX最初是由XML-DEV邮件列表的成员开发的一种用于基于事件的语法分析器的标准和简单的API。SAX是“SimpleAPIforXML”的缩写。SAX最初是为Java而定义的,但是它也可以用于Python、Perl、C++和COM。以后一定还有更多的语言绑定。与我们接下来要讲到的DOM不同,SAX没有经过官方标准机构的认可,但是它已被广泛使用,并被视为事实上的标准。SAX实际上是一个接口集合,它允许开发人员在自己的应用中通过这个接口集合来读取和分析XML文档中的数据。解析器通过读入乂乂1文件,根据所遇到的各个XML文件中的元素,产生不同的事件,主要有以下事件:元素开始和结束标记、元素内容、实体、语法分析错误。 开发人员只要提供自己实现的相应事件的事件处理程序,便能获得相应XML文档的信息。 •DOM:DOM是DocumentObjectModel的缩写,是对XML文档的内容进行表示的模型。它把XML文档看作是一系列node和node间的关系,并且把每一个node都当作一个对象,所以叫文档对象模型。DOM是与编程语言无关的,因此有多种实现。这是一个非常大的优点,意味着用Java、C/C++,甚至是Javascript,在通过DOMAPI处理XML文档时的逻辑和方法名都是一致的。□DOM是以层次结构组织的节点或信息片断的集合。这个层次结构允许开发人员在树中导航仪寻找特定信息。分析该结构通常需要加载整个文档和构造层次结构,然后才能做其他工作。由于它是基于信息层次的,因而DOM被认为是基于树或基于对象的。•PullParser除了SAX和DOM这两种占绝对优势的解析方法外,也有一种称做Pull的解析方法,这种解析方法在特定情形下性能更高,使用更方便。其基本思想就是等到用户要访问时才去解析某个片断,相当于把解析事件拉(Pull)出来,而不是解口析器主动把事件推(Push)给用户。比较典型的代表有XPP[2]和StAX[3],用户可以到相应的开发网站上获取相应的资料。对文档的验证对XML原始文档的验证分为两部分,首先是检验此XML文档是否是一个合法的XML文档,即是否well-form。这一步,在解析器解析的时候就会发现是否有错误,并会抛出相应的异常。其次就是根据此XML所对应的DTD或Schema,来验证此XML是否满足相应的结构和类型约束。如果要进行这一步验证,大多数解析器都要求在调用具体的解析方法之前设置一个参数,告之解析器还需要同时验证DTD或Schema。这个参数的设置方法跟具体的实现有关,没有统一的标准。由于第二步操作首先要涉及到解析Schema,获取各种约束,然后对XML进行校验,相对难度较第一步大很多,因此除了Sun和Apache的解析器外,其余不少解析器都还不支持第二步的验证。对文档中数据的各种操作 •DOM通过标准的DOMAPI对XML文档进行操作是最通用的口方法,除了比较方便外,还可以在各种语言的程序之间取得统一。•其他文档对象模型虽然DOM已经能够比较方便地操作XML文档,但是,在实际应用中,人们还是觉得不够方便。在这种背景下,一些人利用DOM的思想,创建了自己的文档对象模型,提供了自己的API,然后再辅以XPath,使得操作XML非常容易。采用这种方式的典型代表就是Jdom和Dom4j。现在采用上述这两个工具包解析XML文件的开发人员非常多,开发效率也比单纯的使用标准DOMAPI提高了很多。与此同时,这些工具包大都提供了与标准DOM兼容的接口,使得也能与采用标准DOM的程序兼容。 •XMLDataBinding口对于少量的XML数据操作来说,采用上述提到的Jdom或Dom4j已经能够很完美地解决问题。但是如果数据操作比较多,即使是通过上述工具包,开发人员也会淹没在一大堆例如增加节点、修改数据等操作中。除此之外,开发人员必须很清楚XML的结构,对XML的元素名的拼写也不能出错,这一切都使得操作XML
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 《信息光学》课程教学大纲
- 《行政管理专业导论》课程教学大纲
- 2024年低价小型租房合同范本大全
- 2024年出售二级钢坯合同范本
- 园林绿化员工安全培训
- 2型糖尿病的查房
- 一例剖宫产个案护理
- 2024政府设备采购合同
- 2024卷闸门安装合同
- 中国爱情服务行业独立市场研究报告
- 中国农业文化遗产与生态智慧智慧树知到期末考试答案章节答案2024年浙江农林大学
- HSE2015153附件一燃气常规工程监理记录表单旁站记录
- 最新版个人征信报告模板-2020年-word版-可编辑-带水印
- 齿轮参数计算(内啮合)-内齿圈-行星轮
- 案例思念休闲吧
- 《外国航空运输企业航线经营许可规定》(CCAR-287)
- (完整版)《运输管理》课程教学大纲
- 小学五年级(上册)数学期末试卷附命题意图说明
- 金属学与热处理课后习题答案(机械工业出版社)第二版
- 普通发票销售清单
- 测量复核记录
评论
0/150
提交评论