- 0
- 0
- 约4千字
- 约 36页
- 2022-04-13 发布于上海
- 举报
1
解析器与应用程序接口
6.1 解析器
处理一个XML文档的第一步是解析,解析的结果通常是创建一个文档对象模型DOM或者产生一系列的简单应用程序接口SAX事件.
第1页/共36页
在利用程序处理XML文档时,如果要程序能够理解XML文档的含义,则必须要书写一个能够识别XML文档信息的语法分析程序,即所谓的XML解析器(也称为XML处理程序).
XML解析器的作用是用来检查一个XML文档,确保其格式是正确的.当XML文档有一个相关的DTD或者模式XML Schema时,解析器也要确保文档是有效的.同时把XML数据的内容和结构以规定的方式送到第二层(即XML应用层)
第2页/共36页
6.1.1 XML文档的解析过程
(1)读入一个XML文档;
(2)检查XML文档是否合乎语法规则;
(3)检查是否有错误,则将XML文档转变成为可被应用程序使用的格式,即构建一个应用程序能使用数据结构,如果有错误,解析器必须分析处理错误;
(4)解析输出
第3页/共36页
6.1.2 验证解析器和非验证解析器
一个XML文档可以分成三种:非法的,格式正确的,有效的.
格式正确的文档如果符合DTD或
XML Schema规则,就称为”有效的文档”
第4页/共36页
XML解析器也可以分成两大类:
(1)进行有效性验证的:这类解析器在检查文档是否符合”格式正确的”基本要求的基础上,进一步检查看文档是否符合DTD或XML Schema定义中对文档结构的要求,从而判断文档是否有效。
第5页/共36页
(2) 不进行有效性验证的解析器
这一类解析器只负责检查XML文档是否是否满足“格式正确”的有关规定,但不会对XML文档所引用的外部DTD进行分析,检查。
在XML规范中规定,不论进行有效性检验的解析器,还是不不进行有效性验证的解析器,如果有发现文档内容有违反格式正确性约束的地方,都必须报告。
第6页/共36页
6.1.3 解析器和应用程序
XML是用来表示数据的,但最终数据还得处理,需要编写程序来进行。有时,也需要动态生成XML文档,这时,需要编写一段程序或一个脚本去创建一个XML文档。
解析是最基本的可重用服务,要实现代码的重用,就必须解决接口的标准化问题,W3C制定了一套书写XML解析器的标准接口—DOM.其它人员也开发了一些规范,如SAX
第7页/共36页
DOM和SAX都是应用程序对XML文档的操作接口规范。但两者的侧重点不同:
一般说来,DOM适用于不断地寻找一些元素、修改文档或随机地访问文档;
SAX一般用于应用程序只需要单遍读取文档内容,不需要在开始处理前建立整个数据结构。
第8页/共36页
DOM模式图
第9页/共36页
SAX模式
第10页/共36页
6.2 文档对象模型DOM
1 什么是DOM
W3C文档对象模型(DOM)是一个能够让程序和脚本动态访问和更新文档内容、结构和样式的语言平台”
2 DOM用来做什么?
W3C DOM提供了标准的HTML和XML对象集,并有一个标准的接口来访问并操作他们
第11页/共36页
3 DOM的版本有哪些?
DOM被分为不同的部分(核心,XML和HTML)和不同的版本(DOM 1/2/3)
第12页/共36页
6.2.2 DOM解析器
DOM解析器把XML文档转化为可以通过程序访问的结点树。它读入并分析整个文档,然后构建一个驻留内存的该文档的DOM结点树。此后,应用程序就可以使用DOM接口通过结点树访问文档的内容,并根据需要修改文档。
第13页/共36页
一个XML文档不论简单还是复杂,经过DOM解析器解析后,其中的信息都会被转化成一棵结点树。在这棵结点树中,有一个称为“Document”的根结点,这个结点作为整个文档的入口。所有其它结点包括文档的根元素结点都是这个结点的后代结点。结点树生成之后,就可以通过DOM接口访问、修改、添加、删除、创建树的结点和内容。
第14页/共36页
DOM的基本结点类型包括:
文档结点、元素结点、属性结点、文本结点、CDATA、注释结点、处理指令、文档片段、其它类型结点共9种结点。
第15页/共36页
6.2.3 使用DOM接口访问文档
DOM提供的是一个与平台和语言无关的接口标准,它通过定义一系列的对象和方法,提供了对DOM树的结点进行各种随机操作。
第16页/共36页
DOM接口规范中的几个基本接口:
(1)Document:代表整个XML或HTML文档
(2)Element:提供了获取,修改XML元素名称和属性的方法;
(3)Node:一个Node接口实例代表了树中的一个结点;
(4)NodeList:用于表示有顺序关系的一组节点,它提供了获得结点个数和当前结点的方法,这样就可以迭代访问各个结点;
第17页/共36页
(5)NameNodeMap:这种接口也
您可能关注的文档
- 销售培训之冠军销售.pptx
- 教育科学研究方法讲座.pptx
- 集体荣誉感及运动会动员大会精全解.pptx
- 线路的差动保护.pptx
- 软件维护实用.pptx
- 经济全球化及其广泛影响.pptx
- 空调系统组成.pptx
- 经桡动脉冠脉造影.pptx
- 现代农业经营组织与农业产业化.pptx
- 英语:unit1(laughterisgoodforyou)资料(24)(译林牛津版6).pptx
- (正式版)DB51∕T 1867-2014 《袋栽黑木耳生产技术规程》.docx
- (正式版)DB51∕T 2413-2023 《油橄榄密植丰产栽培技术规程》.docx
- (正式版)DB51∕T 2436-2017 《川菜东坡一品肉烹饪工艺技术规范》.docx
- (正式版)DB51∕T 2396-2017 《农村电子商务服务站(点)服务与管理规范》.docx
- (正式版)DB51∕T 2419-2017 《桢楠扦插育苗技术规程》.docx
- CN105145773B 一种无花果曲奇饼干及其制作方法 (江苏农林职业技术学院).docx
- CN105203825A 微测量电极的制作方法和热电势的测量方法及相关装置 (国家纳米科学中心).docx
- CN105137533B 一种啁啾光纤光栅及其制作方法 (南京航空航天大学).docx
- (正式版)DB51∕T 2453-2018 《巴山新居公共管理指南》.docx
- (正式版)DB51∕T 1892-2014 《川西北地区沙化土地治理技术规程》.docx
原创力文档

文档评论(0)