android - 解析 XML 的最佳实践

标签 android xml parsing

我的应用程序应解析通过 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 进行基于注释的解析。 .要了解为什么遵循此逻辑:

  1. Java 使用对象。
  2. XML 可以使用 Java 对象表示。 ( see JAXB )
  3. 注释可用于将该 XML 映射到您的 Java 对象,反之亦然。
  4. Simple XML Framework 使用注释让您可以将 Java 和 XML 映射在一起。
  5. 简单的 XML 能够在 Android 上运行(与 JAXB 不同)。
  6. 你应该使用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/

相关文章:

java - JEdi​​torPane 中 XML 标签的着色

java - 没有字段的派生类的 Hibernate 映射

java - 因此,我尝试在命令行中以字符串形式获取日期并将其转换为毫秒,但它不断增加五个小时。有什么想法吗?

解析嵌套表达式的java方法

java - Android 4.4.4 上的奇怪运行时异常

java - 从 XML 文件获取整数并设置为静态变量?

php - 如何使用 PHP 生成 SOAP Web 服务的 XML 请求,例如 SOAPUI 请求

C# 使用常量加速解析器?虽然是抽象类

android - 无法解析符号 'gms'。无法导入 Google Play 服务

android - ScrollView 中的多个 WebView 出现问题 (Android)