【问题标题】:What should I be using for an XML parser in my Android App?我的 Android 应用程序中的 XML 解析器应该使用什么?
【发布时间】:2012-03-20 17:42:04
【问题描述】:

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

我知道有 SAX、DOM 和 XML 拉解析器。拉解析器已经出局,除非我将内存花在创建自己的对象树上,这似乎不可行。 除非有另一个解析器可以做我想做的事,否则就剩下 SAX 和 DOM。非常不可能,我知道。 是的,我看到了这个答案:https://stackoverflow.com/questions/7498616/which-xml-parser-should-i-use-for-android 想在不使用 DOM 的情况下拥有类似树的可用性?

【问题讨论】:

    标签: android xml dom sax xmlpullparser


    【解决方案1】:

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

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

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

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

    希望对你有所帮助...

    另请参阅此link。

    【讨论】:

    • 谢谢。我来看看 StAX。
    【解决方案2】:

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

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2010-10-18
      • 1970-01-01
      • 2020-12-21
      • 2011-04-12
      • 1970-01-01
      • 2014-03-23
      • 1970-01-01
      • 2011-03-26
      相关资源
      最近更新 更多