第6章解析器和应用程序接口(论文资料).pptVIP

  • 1
  • 0
  • 约2.96千字
  • 约 25页
  • 2017-01-01 发布于重庆
  • 举报

第6章解析器和应用程序接口(论文资料).ppt

第6章 解析器和应用程序接口 6.1 解析器 对于应用程序来说,处理XML文档,理解文档中的数据的含义,提取数据,创建一系列的事件或者是新的数据结构,必须需要XML解析器。 XML解析器就是能够识别XML文档信息的语法分析程序。 6.1.1 了解解析器 解析器解析XML文档的步骤 读入XML文档。 检查XML文档是否符合语法规则。 将XML文档转换为可以被应用程序处理的格式。 解析输出,由API接口对XML文档内容进行访问,或由事件处理程序处理生产的事件。 6.1.2 验证解析器和非验证解析器 进行有效性验证的解析器:除了检查语法格式是否正确,还需结合DTD和XML Schema对XML有效性进行检查。 不进行有效性验证的解析器:只负责语法检查,对包含内部DTD定义的XML文档进行格式正确性的验证,但对于引用外部DTD和XML Schema的XML文档不进行有效性的验证。 6.1.3 解析器和应用程序 6.2 文档对象模型DOM DOM就是一个对象化的XML数据接口,一个与语言无关、与平台无关的标准接口规范。 它定义了HTML文档和XML文档的逻辑结构,给出了一种访问和处理HTML文档和XML文档的方法。 利用DOM,程序开发人员可以动态地创建文档,遍历文档结构,添加、修改、删除文档内容,改变文档的显示方式等等 6.2.2 DOM解析器 DOM为我们提供的访问XML文档信息是一棵根据XML文档生成的节点树。 这棵节点树中,有一个根节点--Document节点,所有其他的节点都是根节点的后代节点。 节点树生成之后,就可以通过DOM接口访问、修改、添加、删除、创建树中的节点和内容。 6.2.2 DOM解析器 文档对象模型利用对象来把文档模型化,这些模型不仅描述了文档的结构,还定义了模型中对象的行为。 文档树中的结点并不是数据结构,而是对象,包含了一系列的方法和属性。 6.2.2 DOM解析器 Client.xml 6.2.2 DOM解析器 DOM的四个基本接口 Document接口 Node接口 NodeList接口 NameNodeMap接口 6.2.3 使用DOM接口访问文档 1、创建Document对象 创建Document对象是一切操作的基础。通过创建Document对象,应用程序或者脚本就得到了对XML文档进行操作的入口。 Dim doc Set doc=CreateObject(“Microsoft .XMLDOM”) 2、加载XML文档 在加载前先设置XML文档解析运行的条件,文档加载之后,就形成了DOM结点树 Dim doc Set doc=CreateObject(“Microsoft .XMLDOM”) doc.anync=False doc.load (client.xml) 3、访问文档 取文档的根元素: set root = doc.documentElement 建立好对根元素的引用,就可以根据结点树的层次关系,对结点进行遍历 访问文档 childNodes(i):返回当前结点的第i+1个子元素 nodeValue:取出文本结点或属性结点的文本值或属性值 text:返回当前结点及其所有子结点的文本值 getAttribute(属性名):取属性值 client.xml文档中,访问到“李四”这个文本结点 client.xml文档中,访问到第二个人的sex这个属性结点的值 4.添加元素 步骤: 定位到插入元素的位置,也就是要插入结点的父结点 用createTextNode创建文本结点 用createElement创建元素结点 用appendChild把文本结点挂在元素结点下 用appendChild把元素结点插入相应的位置 添加元素 createElement(元素名):创建指定元素名的元素 createTextNode(文本):创建指定文本的文本结点 appendChild(结点名): 在指定结点的子结点列表末尾添加一个新结点 insertBefore(新结点,指点结点): 方法在指定的现有结点之前插入了一个结点 在client.xml中,给第一个person元素增添一个北大方正的company元素 在client.xml中,给第一个person元素的company元素添加type属性,属性值为外资。 5.删除、修改元素 removeChild:删除子结点操作 在删除某个节点时,以该节点为根的子树将整个被删除 元素内容的改变包括元素名称、元素属性、元素所包含的文本内容等项目的改变。 删除第一个person结点的company子结点 把张三的电子邮件地址更改为zhs@pku.edu.cn * * ?xml version

文档评论(0)

1亿VIP精品文档

相关文档