加载和查询大型xml文件Android

时间:2012-09-28 23:07:10

标签: android sax xmlpullparser xml

我正在构建一个Android应用程序,我有一个xml文件,这是我的数据源,我加载它以使用XPath进行查询,然后将结果加载到ListView中。当xml文件开始变大(最多10MB)时,问题就出现了。这意味着我可能会遇到记忆问题。我想知道加载xml并在不损害设备内存或浪费宝贵时间处理数据的情况下搜索文件的最佳方法是什么。

这是我加载xml文件的时候:

InputStream isRaw = context.getResources().openRawResource(R.raw.xmlbooksource);
_xmlBookSource = new InputSource(isRaw);

在这里我使用XPath进行查询:

nodeResultSet = (NodeList) xpath.evaluate(xpathExpression, _xmlBookSource, XPathConstants.NODESET);

欢迎所有建议。

1 个答案:

答案 0 :(得分:1)

虽然它们可以用作数据源,但可以使用XPath进行搜索; XML并非真正用于这些目的,应限于系统之间的数据传输。

如果您的数据源不是很小,那么您应该认真考虑使用像SQLite这样的数据库来存储和查询数据。