DOM模型入门手册
本文向大家描述一下DOM模型的概念,DOM是DocumentObjectModel的简称,自从W3C建立了DOM标准(W3CDOM)之后,以及DOM和浏览器兼容之后,DOM在实际应用中越来越广泛。
DOM模型概述
自从W3C建立了DOM标准(W3CDOM)之后,以及DOM和浏览器兼容之后,DOM在实际应用中越来越广泛。DOM是DocumentObjectModel的简称,中文名称为文档对象模型。它的主要作用是建立网页与Script或程序语言沟通的桥梁。
我们平时可操作及建立文件的属性、方法及事件都以并且用“对象”来展现(例如,document就代表“文件本身”这个对象,table对象则代表HTML的表格对象等等)。这些对象可以由当今大多数的浏览器以Script来取用。
DOM模型常用来和JavaScript交互,也就是说程序以JavaScript写成,但使用DOM来存取页面及其元素。它们两者之间的结合非常紧密,甚至可以说如果没有DOM,我们在使用javascript的时候是不可想象的,因为我们每解析一个节点一个元素都要耗费很多精力,DOM本身是设计为一种独立的程序语言,以一致的API存取文件的结构表述;当然除了JavaScript,DOM可还可以与任何程序语言共同运作,如C/C++、VB、VBS。
在和JavaScript进行交互的时候,DOM模型主要用来解析XML文档,当你的应用程序需要不断地导航、修改文档或随机地一次访问整个文档时,我们一般就使用DOM来解析。
在使用DOM进行解析的时候,它在内存中构建起一棵完整的解析树,借此实现对整个XML文档的全面、动态访问。也就是说,它的解析是有层次的,即将所有的html中的元素都解析成树上层次分明的节点,然后我们可以对这些节点进行增删改查等操作,这是对DOM模型的作用的最完善的总结。
和SAX不同,SAX是顺序解析的,与DOM相比,SAX解析器能提供更好的性能优势,它提供对XML文档内容的有效低级访问。
SAX模型最大的优点是内存消耗小,因为整个文档无需一次加载到内存中,这使SAX解析器可以解析大于系统内存的文档。另外,你无需像在DOM中那样为所有节点创建对象。最后,SAX“推”模型可用于广播环境,能够同时注册多个ContentHandler,并行接收事件,而不是在一个管道中一个接一个地进行处理。但是SAX的一些缺点使它的流行性不如DOM。