SAX和DOM

Anonim

SAX与DOM

简单的XML API(也称为SAX)是一种用于XML的串行访问解析器API(这是一种API,用于获取数据,并在动态创建的网页或具有交互式内容的网页中分析该特定文档中的文本)。它是文档对象模型(也称为DOM)的更流行的替代方案之一。

DOM是一种完全独立于特定语言的约定。这是一种与多个平台兼容的约定。它用于表示HTML,XML和XHTML文档中的对象并与之交互。在DOM使用的语言的语法中,可以解决和操纵DOM的许多方面。

SAX解析器的功能是所谓的流解析器(这意味着它可以获取并分析从其位置流式传输的文本)。它包含一个事件驱动的API(这是一个依赖于特定环境中发生的事件的API)。用户可以控制定义回调方法的数量(即追溯到所请求数据源的方法)。在解析过程中发生事件时,将调用这些方法。解析期间可能发生四个主要事件:XML测试节点,XML元素节点,XML处理指令和XML注释。遇到这些XML功能时,会播放事件。当这些功能达到目的时,也会发生事件。因此,SAX是单向的(意味着向一个方向移动),并且如果不开始备份解析操作,则无法重新读取先前解析的数据。

对于必须重复访问文档的应用程序,或者文档恰好超出其顺序顺序的应用程序,DOM最好发挥作用。如果应用程序是严格的序列,并且一次通过(这意味着无法再次启动解析序列就无法访问),那么SAX就会发挥作用。大多数Web浏览器不会使用DOM来呈现HTML文档。但是,DOM是希望动态分析或更改与网页相关的任何内容的JavaScript脚本的必需品。从本质上讲,DOM是JavaScript可以将HTML页面和浏览器状态可视化的方式(即探索其环境)。

摘要:

1. SAX是动态网页的串行访问解析器API; DOM是一种没有语言或依赖语言的约定。

2. SAX解析器允许用户控制回调方法的数量; DOM独立运行,以允许JavaScript脚本访问,更改或分析与动态网页相关的任何内容,从而允许JavaScript“物理”探索其环境。