【发布时间】:2013-09-02 00:34:46
【问题描述】:
我一直在尝试做的是使用 XML 文件来访问我希望存储在网络上的一组数据。该文件如下所示:
<resources>
<60020> 13.5 </60020>
<50020> 11.2 </50020>
</resources>
该程序获取用户的 GPS 坐标,然后将其地理编码为邮政编码,这部分我记下来了。之后我希望做的是将该邮政编码与 XML 文件中的邮政编码进行比较,然后根据最接近的邮政编码返回一个整数。例如,如果用户的邮政编码为 60013,那么程序会看到 60020 是最近的邮政编码,然后根据该搜索返回 13.5。
我已经尝试过制作 SAXParser,并且可以返回第一个值,但是,我无法强制 SAXParser 读取整个文档以找到最接近的值。我也已经有一个算法来找到最接近的值(简单的循环检查值的差异),但是我仍然坚持如何检查整个值列表的整个想法。我是否使用了错误类型的存储方法?我应该使用 SQL 吗?还是不同的解析器?
感谢您的帮助。
【问题讨论】:
-
为什么不先将邮政编码四舍五入,然后在 XML 文件中搜索呢?您可以选择 Xpath 来查询 XML 文件。 ibm.com/developerworks/library/x-javaxpathapi/index.html
-
四舍五入听起来很棒!但是无论如何我可以使用 SAXParser 来搜索特定值吗?我确实看过 Xpath,但如果可能的话,我想使用 SAXParser,因为我已经有了那个设置。
-
SAXparser 本身会查找标签,它不会对它们进行四舍五入,所有 XPath 更适合用于搜索 XML 文档,因为它相对容易。
-
是的,看起来 XPath 是要走的路。如果您在答案中发表评论,我会给您接受的答案代表。
标签: android xml parsing search saxparser