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。 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |