0

我一直在尝试做的是使用 XML 文件来访问我希望存储在网络上的一组数据。该文件如下所示:

<resources>
    <60020> 13.5 </60020>
    <50020> 11.2 </50020>
</resources>

该程序抓取用户的 GPS 坐标,然后将它们地理编码为邮政编码,我已经记下了那部分。之后我希望做的是将该邮政编码与 XML 文件中的邮政编码进行比较,然后根据最接近的邮政编码返回一个整数。例如,如果用户的邮政编码为 60013,那么程序将看到 60020 是最接近的邮政编码,然后根据该搜索返回 13.5。

我已经尝试过制作 SAXParser,并且可以返回第一个值,但是,我无法强制 SAXParser 通读整个文档以找到最接近的值。我也已经有一个算法来找到最接近的值(简单的循环检查值的差异),但是我仍然坚持如何检查整个值列表的整个想法。我是否使用了错误类型的存储方法?我应该使用 SQL 吗?还是不同的解析器?

谢谢你的帮助。

4

1 回答 1

0

我更好的主意是先四舍五入邮政编码,然后在 XML 文件中搜索它。我会推荐 Xpath Api 来查询 XML 文件。我可以在这里找到关于 Xpath 的非常好的教程

http://www.ibm.com/developerworks/library/x-javaxpathapi/index.html

并且由于 SAXparser 本身会查找标签,它不会对它们进行四舍五入,因此 XPath 更适合用于搜索 XML 文档,因为它相对容易。

于 2013-09-03T08:50:15.660 回答