Simple API for XML(又称SAX)是一个用于XML的串行访问解析器API(即一个获取数据的API,并分析动态创建的网页或具有交互内容的网页中的特定文档的文本)。它作为文档对象模型(也称为DOM)的更流行的替代品之一。

DOM是一个完全独立于特定语言的惯例。它是一个与多个平台兼容的公约。它被用来表示HTML、XML和XHTML文档中的对象并与之互动。在DOM使用的语言的语法中,DOM的许多方面可以被处理和操作。

一个SAX解析器的功能是所谓的流解析器(这意味着它获得并分析从其位置流过的文本)。它包含一个事件驱动的API(即一个依赖于在特定环境中发生的事件的API)。用户可以控制定义回调方法的数量(即追溯到所请求的数据来源的方法)。这些方法将在解析行为中发生事件时被调用。在解析过程中,有四个主要事件可能发生。XML测试节点、XML元素节点、XML处理指令和XML注释。当遇到这些XML特征时,事件就会被投入使用。当这些特征达到其终点时,事件也会发生。因此,SAX是单向的(意味着在一个方向上移动),如果不重新开始解析操作,就不能重新读取之前被解析的数据。

DOM最好是在文档必须被反复访问的应用中发挥作用,或者在文档恰好不在其序列顺序中的情况下发挥作用。如果应用程序有严格的顺序,并且是一次通过(这意味着不重新开始解析顺序就无法访问),那么SAX就会发挥作用。大多数网络浏览器在渲染HTML文档时不使用DOM。然而,对于希望动态分析或改变与网页有关的任何东西的JavaScript脚本来说,DOM是一个必要条件。从本质上讲,DOM是JavaScript能够可视化HTML页面和浏览器状态的方式,它包含在其中(即探索其环境)。

SAX和DOM的区别

  1. SAX是一个用于动态网页的串行访问解析器API;DOM是一个没有语言或对语言有依赖性的约定。
  2. SAX解析器允许用户控制回调方法的数量;DOM的功能是独立的,以允许JavaScript脚本访问、改变或分析任何与动态网页有关的东西,允许JavaScript “物理地 “探索其环境。
欢迎任何形式的转载,但请务必注明出处,尊重他人劳动成果。
转载请注明:文章转载自 有区别网 [http://www.vsdiffer.com]
本文标题:SAX和DOM的区别
本文链接:https://www.vsdiffer.com/vs/sax-vs-dom.html
免责声明:以上内容仅是站长个人看法、理解、学习笔记、总结和研究收藏。不保证其正确性,因使用而带来的风险与本站无关!如本网站内容冒犯了您的权益,请联系站长,邮箱: ,我们核实并会尽快处理。