我正在构建一个 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);
欢迎所有的建议。
最佳答案
虽然它们可以用作数据源并且可以使用 XPath 进行搜索; XML 并不是真正为这些目的而创建的,应该仅限于系统之间的数据传输。
如果您的数据源不是很小,您应该认真考虑使用像 SQLite 这样的数据库来存储和查询您的数据。
关于android - 加载和查询大型 xml 文件 Android,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12648450/