预览加载中,请您耐心等待几秒...
1/8
2/8
3/8
4/8
5/8
6/8
7/8
8/8

在线预览结束,喜欢就下载吧,查找使用更方便

如果您无法下载资料,请参考说明:

1、部分资料下载需要金币,请确保您的账户上有足够的金币

2、已购买过的文档,再次下载不重复扣费

3、资料包下载后请先用软件解压,在使用对应软件打开

XML认证考试知识点:ParserXML认证考试知识点:Parser一个XMLParser(解析器)是一段可以读入一个文档并分析其结构的代码。下面小编为大家整理了关于Parser的XML认证考试知识点,一起来看看吧:如何使用一个解析器通常而言,使用一个解析器需要如下步骤:创建一个解析器对象将您的XML文档传递给解析器处理结果构建一个XML应用显然远远超出这些,但通常一个XML的应用将包含这些流程。解析器种类有不同的方法来划分解析器种类:验证或非验证解析器支持DocumentObjectModel(DOM)的解析器支持SimpleAPIforXML(SAX)的解析器特定语言编写的解析器(Java,C++,Perl等)接下来我们将讨论这几种解析器的各自特点.验证或非验证解析器如我们在前面所提及的,XML文档如果使用一个DTD并符合DTD中的规则将被称为有效文档(validdocument)。符合基本标记规则的XML文档被称为格式正确文档(well-formeddocument)。XML规范要求所有的解析器当其发现一个文档不是格式正确时要报错。验证(Validation)则是另一个问题了。验证解析器(Validatingparser)在解析XML文档同时进行验证。非验证解析器(Non-validatingparser)忽略所有的验证错误。换而言之,如果一个XML文档是格式正确的时,一个非验证解析器并不关注文档是否符合其对应DTD所指定的规则(如果有的话)。为何使用非验证解析器?速度和效率。要一个XML解析器处理DTD并确保每个XML的元素符合在DTD中的规则需要相当大的开销。如果您确定一个XML文档是有效的(可能来自一个数据源),那就没有必要再次验证它了。同样,有时您所需要的只是从一个文档中找出XML的标记。一旦您有了这些标记,您可以将数据从中提取出然后加以处理。如果这就是您所需要的,一个非验证解析器就是正确的选择。DocumentObjectModel(DOM)文档对象模型(DocumentObjectModel)是WorldWideWebConsortium(W3C)的正式推荐。它定义了一个接口使得程序可以存取和更新XML文档的风格、结构和内容。支持DOM的XML解析器实现该接口。该规范的第一版,DOMLevel1,可从http://www.w3.org/TR/REC-DOM-Level-1获得。当您用一个DOM解析器来解析一个XML文档时,您将获得一个包含文档中所有元素的树结构。DOM提供了不同的功能来检查文档的内容和结构。SimpleAPIforXML(SAX)SAXAPI是另一种处理XML文档内容的方法。一个既成事实的标准,它由DavidMegginson和XML-Dev邮件列表其它成员所开发。要查看完整的SAX标准,参见www.megginson.com/SAX/。要参加XML-Dev邮件列表,发送邮件到majordomo@ic.ac.uk其中包含:subscribexml-dev。当您使用SAX解析器来解析XML文档时,解析器在文档的不同处将产生事件。由您来决定对每个事件如何处理。SAX解析器会在以下情况下产生事件:在文档开始和结束时,在一个元素开始和结束时,或者它在一个元素中找到字符时,以及其它若干点。您可编写Java代码来处理每个事件,以及如何处理从解析器获得的信息。何时使用SAX?何时使用DOM?为了确定哪种接口适合您,您需要理解所有接口的设计要点,而且需要理解应用程序用您将要处理的XML文档来做什么。考虑下面的问题将有助于您找到正确的方法。要用Java编写应用程序吗?JAXP使用DOM、SAX和JDOM;如果您用Java编写代码,那么您应使用JAXP将您的代码与各种解析器实现的细节隔离。应用程序将如何部署?如果您的应用程序将要作为Javaapplet部署,那么您会希望使要下载的代码数量最小,别忘了SAX解析器比DOM解析器小。还要知道使用JDOM时,除了SAX或DOM解析器之外还要求编写少量的代码。一旦解析了XML文档,还需要多次访问那些数据吗?如果您需要回过头来访问XML文件的已解析版本,DOM可能是正确的选择。而SAX事件被触发时,如果您以后需要它,则由您(开发人员)自己决定以某种方式保存它。如果您需要访问不曾保存的事件,则必须再次解析该文件。而DOM自动保存所有的数据。只需要XML源文件的少量内容吗?如果您只需要XML源文件的少量内容,那么SAX可能是正确的选择。SAX不会为源文件中的每个东西创建对象;您要确定什么是重要的。使用SAX,您要检查每个事件以了解它是否与您的需要有关,然后相应地处理它。更妙的是,一旦找到您正在寻找的东西,您的代码就会抛出一个异常来完全停止SAX解析器。您正在一台内存很少的机器上