加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

xml-parsing – SAX和DOM之间有什么区别?

发布时间:2020-12-16 02:06:03 所属栏目:百科 来源:网络整理
导读:我读了一些关于XML解析器的文章,遇到了SAX和DOM。 SAX是基于事件的,DOM是树模型 – 我不明白这些概念之间的差异。 从我的理解,基于事件的意味着某种事件发生在节点。像单击一个特定节点时,它将给出所有的子节点,而不是同时加载所有的节点。但是在DOM解
我读了一些关于XML解析器的文章,遇到了SAX和DOM。

SAX是基于事件的,DOM是树模型 – 我不明白这些概念之间的差异。

从我的理解,基于事件的意味着某种事件发生在节点。像单击一个特定节点时,它将给出所有的子节点,而不是同时加载所有的节点。但是在DOM解析的情况下,它将加载所有节点并创建树模型。

我的理解是正确的吗?

请纠正我如果我错了,或以更简单的方式向我解释基于事件的和树模型。

好,你很近。

在SAX中,当解析XML时触发事件。当解析器解析XML并遇到开始的标签(例如< something>)时,它触发tagStarted事件(事件的实际名称可能不同)。类似地,当在解析(< / something>)时满足标签的结束时,它触发tagEnded。使用SAX解析器意味着您需要处理这些事件并了解每个事件返回的数据。

在DOM中,解析时没有触发任何事件。解析整个XML,并生成并返回DOM树(XML中的节点)。一旦被解析,用户可以导航树以访问先前嵌入在XML中的各种节点中的各种数据。

一般来说,DOM更容易使用,但是在开始使用DOM之前需要解析整个XML。

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读