【问题标题】:Find Closest Value in an XML file within a Android App在 Android 应用程序的 XML 文件中查找最接近的值
【发布时间】: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


【解决方案1】:

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

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

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

【讨论】:

    猜你喜欢
    • 2015-07-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-06-25
    • 2019-06-01
    • 2017-01-23
    • 2021-12-26
    相关资源
    最近更新 更多