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

我应该在Android应用程序中使用什么作为XML解析器?,android,xml,dom,sax,xmlpullparser,Android,Xml,Dom,Sax,Xmlpullparser,我想创建一个使用可能很大的xml文件的应用程序。它还将修改,理想情况下能够反向遍历 我知道有SAX、DOM和XML拉式解析器。拉解析器已经退出,除非我花费内存创建自己的对象树,这似乎是不可行的。 这就剩下了SAX和DOM,除非有另一个解析器可以实现我想要的功能。我知道这是极不可能的。 是的,我看到了这个答案: 关于在不使用DOM的情况下实现树状可用性的想法?在解析XML时有很多选择。但这取决于您自己的需求,您可以在需要时使用哪个解析器。为此,您需要了解解析器之间的基本区别。以下是我提供的一些基本

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

我知道有SAX、DOM和XML拉式解析器。拉解析器已经退出,除非我花费内存创建自己的对象树,这似乎是不可行的。 这就剩下了SAX和DOM,除非有另一个解析器可以实现我想要的功能。我知道这是极不可能的。 是的,我看到了这个答案:
关于在不使用DOM的情况下实现树状可用性的想法?

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

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

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

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

希望这能帮助你


另请参阅此部分。

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


如果XML真的很大,那么最好通过发送请求中的要求从服务器端进行过滤,否则我们可以进行分页,这很有建议。

谢谢。我来看看斯塔克斯。