Android:解析XML数据的最佳解析器
我正在开发一个应用程序,第一次我要从来自远程服务器的xml文件解析数据。Android:解析XML数据的最佳解析器
但我无法选择哪个解析器是有效的或最适合解析。由于主要有三种类型解析的,我知道:
- SAX
- XMLPullParsing
- DOM
这是解析数据的最佳解析器?当我在Google上搜索时发现上述解析器的正面和负面两面。但我无法确定哪一种效率最高。
XML有大量数据和大量标签。
请指导我,并建议我应该使用哪个解析器,因为我在第一次在我的应用程序中使用解析。
在所有的XML解析器中,Sax解析器是最快速的解析器,所以您可以毫无疑问地使用它....如果您需要从XML读取和写入数据,则可以使用DOM。使用SAX解析器,您将只能读取XML中的数据。由于这两个位于列表的顶部,因此您不需要考虑XMLPullparser。
抱歉,但SAX解析器有自我关闭标记问题
SAX解析是比DOM更好的实现。看到这两者之间的区别如下所示:
DOM:
- 节点都是树结构的形式。
- 内存:它占用更多的内存,DOM只在 的情况下优先处理小的XML文档。
- 运行时速度变慢。
- 存储为对象。
- 编程简单实现。
- 易于导航和使用。
SAX:
- 序列事件。
- 它不使用大型文档的首选内存。
- 由于上述问题,运行时速度更快。
- 对象将被创建。
- 需要编写用于创建对象的代码。
- 在SAX向后导航是不可能的,因为它按顺序 处理文档。
+1。这是一个很好的比较。我会强调SAX更难实现,因为程序员必须通过节点。但是,速度更快,使用更少的内存,并且更适合于大型XML数据集或流式XML数据。 – 2013-03-25 06:41:17
恰到好处的朋友。 :) – 2013-03-25 08:52:20
我会说XMLPullParsing,但我最近听到很棒的东西,关于Xerces可能也想看看那个。但是,从来没有使用Xerces和XMLPullParser从来没有让我失望。我们建立了一个使用它的色盲应用程序,它可以拉动成千上万的颜色组合,以告诉你刚才拍摄的照片是什么颜色。
更新:继承人几个链接,如果你不介意把读出:对,显示利弊和津贴双方
http://www.firstobject.com/xml-reader-sax-vs-xml-pull-parser.htm
而且另一个答案也许可以阅读到SAX parser vs XMLPull parser
使用sax或xmlpullparsing。 – Raghunandan 2013-03-25 06:08:26
如果文件大小合理,请尝试一下。如果它不适合核心,请使用sax。向我们展示您的模式并告诉我们您使用数据处理的是什么样的东西 – 2013-03-25 06:12:20
意味着萨克斯如果好,那么对于大量数据而言,但请告诉我关于xmlpullparser的信息。萨克斯和xmlpull中最好的。 – 2013-03-25 06:14:52