从Android应用程序查询远程XML文件

时间:2011-04-28 19:06:33

标签: android xml sax

我正在开发一个从存储在服务器上的XML文件中检索信息所需的应用程序。

我编写了一个使用SAX的解析器类,它读取数据并将其弹出到一个对象中,然后我可以根据需要访问它。

我将如何查询数据,例如搜索特定值,然后只读取相关元素。服务器端,我可以轻松编写XQuery以返回所需的元素,但是我不确定如何从我的应用程序中执行此操作。

是否可以执行查询服务器端,然后解析生成的XML文件?

我有点失落。如果有人能指出我正确的方向,我将非常感激!

1 个答案:

答案 0 :(得分:0)

如果您在Android 2.2或更高版本上进行开发,则可以利用javax.xml.xpath的功能(在API级别8中引入)。

如果您在Android 2.1或更早版本上进行开发,那么服务器端过滤器(如您所建议的那样:xquery或xpath)将是最佳的,否则您应该对xml数据进行硬过滤,或者将所有数据包装到java对象中一个List<?>,并过滤该列表。这两种方式都非常耗费资源。

在我看来,如果一次处理大量数据,但只显示其中的一小部分,服务器端过滤效果更好(即使它需要多个http请求:在更改数据集时,这无论如何都是不可避免的)。