Android:解析XML数据的最佳解析器

时间:2013-03-25 06:07:15

标签: android android-xml saxparser xmlpullparser android-parser

我正在开发一个应用程序,我第一次要从远程服务器的xml文件中解析数据。

但是我无法选择哪种解析器有效或最适合解析。由于主要有三种类型的解析,我知道:

  1. SAX
  2. XMLPullParsing
  3. DOM
  4. 解析数据的最佳解析器是什么?当我在Google上搜索并找到上述解析器的正反两面时。但我无法确定哪种效率最高。

    XML包含大量标签的大量数据。

    请指导我并建议我使用哪个解析器,因为我在我的应用程序中第一次使用解析。

4 个答案:

答案 0 :(得分:18)

SAX解析是比DOM更好的实现。请参阅以下两者之间的区别:

<强> DOM

  • 节点采用树形结构。
  • 内存:它占用更多内存,DOM只在以下情况下提供 小型XML文档。
  • 在运行时更慢。
  • 存储为对象。
  • 以编程方式易于实施。
  • 易于导航和使用。

<强> SAX

  • 事件顺序。
  • 它不使用大型文档首选的任何内存。
  • 由于上述观点,在运行时更快。
  • 要创建对象。
  • 需要编写用于创建对象的代码。
  • 在SAX中不能按顺序向后导航 处理文件。

答案 1 :(得分:9)

在所有XML解析器中,Sax解析器是最快的解析器,因此您可以毫无疑问地使用它。如果您需要从XML读取和写入数据,您可以使用DOM。使用SAX解析器,您将只能从XML读取数据。由于这两个位于列表的顶部,因此您无需考虑XMLPullparser。

答案 2 :(得分:1)

我会说XMLPullParsing,但我最近听到很多关于Xerces可能想要查看那个的事情。但是,从未使用过的Xerces和XMLPullParser从未让我失望过。我们构建了一个使用它的色盲应用程序,它可以提取数千种颜色组合,以告诉您刚才拍摄的颜色。

更新:如果您不介意阅读,请阅读以下几个链接:p,显示双方的利弊和潜力

http://www.firstobject.com/xml-reader-sax-vs-xml-pull-parser.htm

也可以读入SAX parser vs XMLPull parser

的另一个答案

答案 3 :(得分:0)

我认为XMLPullParser是他们在Android documentation中提到的一个很好的选择。