微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

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

我读了一些关于XML解析器的文章,遇到了SAX和DOM。

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

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

我的理解是正确的吗?

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

好,你很近。

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

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

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

原文地址:https://www.jb51.cc/xml/294290.html

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。