Html DOM树的结构和访问(1)
你对Html DOM树的概念是否了解,这里和大家分享一下,DOM(DocumentObjectModel)解析器将XML文档一次性解析,生成一个位于内存中的对象树用以描述该文档。
Html DOM树
1.Html DOM树
所有类型的XML解析器都要求处理对象是“格式良好”的XML文档,有些还能根据DTD或XMLSchema进行有效性验证,DOM(DocumentObjectModel)解析器将XML文档一次性解析,生成一个位于内存中的对象树用以描述该文档。
DOM是一种与平台和语言无关的接口,它允许程序和脚本动态访问和修改文档的内容、结构和类型。它定义了一系列的对象和方法对Html DOM树的节点进行各种随机操作:
◆Document对象:作为树的最高节点,Document对象是对整个文档进行操作的入口。
◆Element和Attr对象:这些节点对象都是文档某一部分的映射,节点的定级层次恰好反映了文档的结构。
◆Text对象:作为Element和Attr对象的子节点,Text对象表达了元素或属性的文本内容。Text节点不再包含任何子节点。
◆集合索引:DOM提供了几种集合索引方式,可以对节点按指定方式进行遍历。索引参数都是从0开始记数的。
Html DOM树中的所有节点都是从Node对象继承而来的。Node对象定义了一些最基本的属性和方法,利用这些方法可以实现对树的遍历,同时,根据属性还可以得知节点的名称、取值并判断其类型。
利用DOM,开发人员可以动态地创建XML、遍历文档、增加/删除/修改文档内容。DOM提供的API与编程语言无关,所以对一些DOM标准中没有明确定义的接口,不同解析器的实现方法也可能有所差别。为方便描述,本文的举例均采用MSXMLDOM方案并用VBScript编写代码。
2.Html DOM树的结构
Document对象建立之后,就可以与XML文档或数据岛联系在一起。数据岛的加载方法是将数据岛ID赋给Document对象:
- <XMLIDXMLID=“dsoDetails”src=“Books.xml”></XML>
- Setdoc=dsoDetails.XMLDocument
加载文档大体上分为三步:
1.使用CreateObject方法创建分析器实例;
2.设置async属性为False,禁止异步加载,这样当文档加载完毕,控制权才会返回给调用进程,如果想获取文档加载状态,可以读取readyState属性值;
3.使用load方法加载指定文档。
- Setdoc=CreateObject(“Microsoft.XMLDOM”)
- doc.async=False
- doc.load“Books.xml”
XMLDOM还提供了一种loadXML的方法可以把XML字符串加载到Html DOM树中,使用时只要把XML字符串直接作为该方法的参数即可。
- 上一篇:学习笔记 如何遍历DOM?
- 下一篇:XML DOM和HTML DOM关系揭秘