1

android 中有 DOM 、 SAX 和 XmlPull 解析等方法。我如何决定在特定情况下必须使用哪种解析?请建议在特定情况下哪个 1 更优化

4

1 回答 1

4

我正在给你一些关于 SAX 和 Dom Parser 的信息。

Java 中的 SAX XML 解析器

SAX 代表用于 XML 解析的简单 API。这是一个基于事件的 XML 解析,它逐步解析 XML 文件,非常适合大型 XML 文件。SAX XML Parser 在遇到开始标记、元素或属性时触发事件,并相应地进行解析。推荐使用 SAX XML 解析器来解析 Java 中的大型 xml 文件,因为它不需要在 Java 中加载整个 XML 文件,它可以读取小部分的大型 XML 文件。Java 提供对 SAX 解析器的支持,您可以使用 SAX 解析器解析 Java 中的任何 xml 文件,我在这里介绍了使用 SAX 解析器读取 xml 文件的示例。在 Java 中使用 SAX Parser 的一个缺点是,与 DOM Parser 相比,使用 SAX Parser 在 Java 中读取 XML 文件需要更多代码。

DOM 和 SAX XML 解析器之间的区别 以下是 Java 中 DOM 解析器和 SAX 解析器之间的一些高级差异:

1) DOM 解析器将整个 xml 文档加载到内存中,而 SAX 仅将 XML 文件的一小部分加载到内存中。

2) DOM 解析器比 SAX 更快,因为它访问内存中的整个 XML 文档。

3) Java 中的 SAX 解析器比 DOM 解析器更适合大型 XML 文件,因为它不需要太多内存。

4) DOM 解析器适用于文档对象模型,而 SAX 是基于事件的 xml 解析器。

这就是 Java 中 SAX 和 DOM 解析器之间的区别,现在取决于您要选择哪种 XML 解析器。如果 XML 文件足够小,我建议使用 DOM 解析器而不是 SAX 解析器;如果您不知道要处理的 xml 文件的大小或它们很大,我建议使用 SAX 解析器。

还有用于 XML 解析的 XMLPullParser,但我没有更多的想法,因为我没有使用它。

于 2013-01-21T11:22:24.503 回答