我的应用程序应解析通过 HTTP 接收的 XML。据我了解,解析 XML 的方式主要有以下三种:
- 萨克斯
- DOM
- XmlPullParser
据说 SAX 是其中最快的,而 DOM 对于较大的 XML 文档来说并不是最佳选择。但是,从解析的角度来看,什么是大型 XML 文档?对于以下内容,推荐的解析器是什么?
- XML 文档大小在 1-5 kB 之间
- 轻松遍历文档,即我不仅需要知道当前元素,还需要知道父元素。
最佳答案
As far as I understand there are three major ways of parsing XML:
- SAX
- DOM
- XmlPullParser
错了!这些都不是最好的方法。您真正想要的是使用 Simple XML Framework 进行基于注释的解析。 .要了解为什么遵循此逻辑:
- Java 使用对象。
- XML 可以使用 Java 对象表示。 ( see JAXB )
- 注释可用于将该 XML 映射到您的 Java 对象,反之亦然。
- Simple XML Framework 使用注释让您可以将 Java 和 XML 映射在一起。
- 简单的 XML 能够在 Android 上运行(与 JAXB 不同)。
- 你应该使用Simple XML满足您在 Android 上的所有 XML 需求。
为了帮助您做到这一点,我会 point you to my own blog post它准确地解释了如何在 Android 上使用 Simple 库。
除非您有 100MB 的 XML 文件,否则 Simple 对您来说已经足够快了。它适合我,我在我的所有 Android XML 项目中都使用它。
注意我应该指出,如果您要求用户在 Android 上下载超过 1MB 的 XML 文件,那么您可能需要重新考虑您的策略。你可能做错了。
关于android - 解析 XML 的最佳实践,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6166862/