在Android应用程序中,我应该使用什么来解析XML解析器?

时间:2012-03-20 17:42:04

标签: android xml dom sax xmlpullparser

我想创建一个使用可能很大的xml文件的应用程序。它也会修改并且理想情况下能够反向遍历。

我知道有SAX,DOM和XML pull解析器。拉解析器已经出局,除非我花费内存来创建我自己的对象树,这似乎不可行。 这留下了SAX和DOM,除非有另一个解析器可以做我想要的。我知道,极不可能。  是的,我看到了这个答案:https://stackoverflow.com/questions/7498616/which-xml-parser-should-i-use-for-android 关于在不使用DOM的情况下使树具有可用性的想法?

2 个答案:

答案 0 :(得分:0)

解析XML时有很多选择。但这取决于您自己的要求,您可以使用哪个解析器。为此,您需要了解解析器之间的基本差异。以下是我提供的一些基本信息。

SAX 解析器是在解析器遍历XML树时通知您的代码的解析器, 并且您负责跟踪状态并构建您可能希望在解析器过程中跟踪数据的任何对象。

DOM 解析器读取整个文档并构建一个内存表示,您可以查询不同的元素。通常,您甚至可以构造XPath查询来提取特定部分。

正如你所说,你有大文件,如果你想要更快的性能,我建议你应该使用StAX解析器。这是link

希望这会对你有帮助......

另请参阅此link

答案 1 :(得分:0)

对于大多数情况下,DOM会更好地加载所有XML。但是如果XML大小非常大,那么我们应该选择SAX解析器,它每次都会从XML的开头读取标记。

如果XML非常大,那么最好通过在请求中发送需求来从服务器端进行过滤,否则我们可以进行可建议的分页。