您好,欢迎访问三七文档
当前位置:首页 > 建筑/环境 > 电气安装工程 > 第6章 XML文档接口DOM
第6章XML文档接口DOM6.1DOM接口概述受数据库的ODBC/JDBC标准接口的启发,W3C组织制定了一套书写XML分析器的接口标准DOM。有了该接口,就可以通过XML解析器,将应用程序或脚本程序与XML文档结合在一起,从而实现应用程序或脚本程序对XML文档的访问与操作了。有了DOM接口,应用程序访问和操作XML文档的过程可以理解为:首先通过XML解析器对XML文档进行解析,然后应用程序再通过XML解析器所提供的DOM接口对解析结果进行操作,从而间接地实现对XML文档的访问与操作。6.2DOM的结构(1)整个文档是一个文档节点;(2)每个XML标签是一个元素节点;(3)包含在XML元素中的文本是文本节点;(4)每一个XML属性是一个属性节点;(5)注释属于注释节点。表6-1给出了XML文档中的元素对应于DOM树的节点类型。6.3DOM对象1\DOM基本接口(1)Document接口Document接口代表了整个XML文档,是整棵DOM树的根,它提供了对文档中数据进行访问和操作的入口。由于元素、文本节点、注释和处理指令等节点均不能脱离文档的上下关系而独立存在,所以Document接口提供了创建其他节点对象的方法,通过该方法创建的节点对象都有一个ownerDocument属性,用来表明当前节点是由谁创建的以及节点同Document之间的联系。(2)Node接口Node接口在整个DOM树中具有举足轻重的地位,DOM接口中有很大一部分的接口都是从Node接口继承过来的,例如Element、Attr和CDATASection等接口。在DOM树中,Node接口代表了树中的一个节点。(3)NodeList接口NodeList接口提供了对节点集合的抽象定义,它并不包含如何实现这个节点集的定义。NodeList用于表示有顺序关系的一组节点,比如某个节点的子节点序列。另外,NodeList还经常出现在一些方法的返回值中,例如GetNodeByName()。(4)NamedNodeMap接口实现NamedNodeMap接口的对象中包含了可以通过名字来访问的一组节点的集合。要注意的是,NamedNodeMap并不是从NodeList继承过来的,它所包含的节点集中的节点是无序的。尽管这些节点也可以通过索引来访问,但这只是提供了枚举NamedNodeMap中所包含节点的一种简单方法,并不表明在DOM标准中为NamedNodeMap中的节点规定了一种排列顺序。NamedNodeMap表示的是一组节点和其唯一名字的一一对应关系,这个接口主要用在属性节点的表示上。2\DOM基本对象(1)Document对象Document对象又称为文档对象,代表整个XML文档。Document对象是整个XML文档操作的入口,若对一个XML文档进行操作,首先创建该对象,然后再根据需要进行其他的操作。Document对象的属性及含义如表6-2所示。(2)Node对象Node对象也就是节点对象,代表文档树中的一个节点。Node对象是整个DOM中的主要数据类型,节点可以是元素节点、文本节点、属性节点等。需要说明的是,虽然所有的对象均能继承用于处理父节点和子节点的属性和方法,但是并不是所有的对象都拥有父节点或子节点,比如文本节点不能拥有子节点,所以向类似节点中添加子节点就会导致DOM错误。Node对象的属性及含义如表6-4所示。(3)NodeList对象NodeList对象代表一个有顺序的节点列表,节点的顺序就是它们在XML文档中出现的顺序。NodeList对象的属性及含义如表6-6所示。(4)Element对象Element对象表示XML文档中的元素。元素可以包含属性、其他元素或文本,如果元素含有文本,则在文本节点中表示该文本。值得说明的是,文本永远存储在文本节点中,即使最简单的元素节点之下也拥有文本节点。比如年份2010/年份,存在一个元素节点“年份”,同时此节点下存在一个文本节点“2010”。Element对象的属性及含义如表6-8所示。(5)Attr对象Attr对象表示Element对象的属性。值得说明的是,属性无法拥有父节点,也不能被认为是元素的子节点。Attr对象的属性及含义如表6-10所示。6.4DOM的使用创建DOM对象【例6-2】创建Document对象。//定义变量XMLDocvarXMLDoc;//将该变量赋予XMLDocument对象类型XMLDoc=newActiveXObject(Microsoft.XMLDOM);2\加载XML文档【例6-3】将Document对象与XML文档进行关联。//禁止异步加载。即当文档加载完毕后,控制权才会返回给调用进程XMLDoc.async=false;//加载例6-1创建的XML文档XMLDoc.load(ch6-1.xml);3\遍历XML文档【例6-4】对DOM树进行简单遍历。4\DOM接口应用【例6-5】查找某特定节点。6.5DOM对文档的操作动态创建XML文档【例6-6】动态创建XML文档。添加子元素【例6-7】向例6-1XML文档中添加子元素。修改元素内容【例6-8】修改例6-1XML文档中某元素的内容。删除子元素【例6-9】删除例6-1XML文档中元素“专业”。
本文标题:第6章 XML文档接口DOM
链接地址:https://www.777doc.com/doc-3404606 .html