我正在开发一个从存储在服务器上的XML文件中检索信息所需的应用程序。
我编写了一个使用SAX的解析器类,它读取数据并将其弹出到一个对象中,然后我可以根据需要访问它。
我将如何查询数据,例如搜索特定值,然后只读取相关元素。服务器端,我可以轻松编写XQuery以返回所需的元素,但是我不确定如何从我的应用程序中执行此操作。
是否可以执行查询服务器端,然后解析生成的XML文件?
我有点失落。如果有人能指出我正确的方向,我将非常感激!
答案 0 :(得分:0)
如果您在Android 2.2或更高版本上进行开发,则可以利用javax.xml.xpath
的功能(在API级别8中引入)。
如果您在Android 2.1或更早版本上进行开发,那么服务器端过滤器(如您所建议的那样:xquery或xpath)将是最佳的,否则您应该对xml数据进行硬过滤,或者将所有数据包装到java对象中一个List<?>
,并过滤该列表。这两种方式都非常耗费资源。
在我看来,如果一次处理大量数据,但只显示其中的一小部分,服务器端过滤效果更好(即使它需要多个http请求:在更改数据集时,这无论如何都是不可避免的)。