gpt4 book ai didi

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

转载 作者:行者123 更新时间:2023-12-03 04:07:06 24 4
gpt4 key购买 nike

我阅读了一些有关 XML 解析器的文章,并遇到了 SAXDOM

SAX 是基于事件的,DOM 是树模型——我不明白这些概念之间的区别。

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

我的理解正确吗?

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

最佳答案

嗯,你已经很接近了。

在 SAX 中,解析 XML 时会触发事件。当解析器解析 XML 时,遇到以标签开头(例如 <something> ),则会触发 tagStarted事件(事件的实际名称可能有所不同)。同样,当解析时遇到标签结尾( </something> )时,它会触发 tagEnded 。 。使用 SAX 解析器意味着您需要处理这些事件并理解每个事件返回的数据。

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

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

关于xml-parsing - SAX 和 DOM 有什么区别?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6828703/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com