То, что я пытаюсь сделать, - использовать XML-файл для доступа к массиву данных, который я хочу сохранить в Интернете. Файл выглядит следующим образом:Найти самое близкое значение в файле XML в приложении для Android
<resources>
<60020> 13.5 </60020>
<50020> 11.2 </50020>
</resources>
Программа захватывает координаты GPS пользователя, а затем геокодированием их почтовый индекс, что часть меня есть вниз. То, что я хотел сделать после этого, состояло в том, чтобы сравнить этот почтовый индекс с почтовыми индексами в XML-файле, а затем вернуть целое число на основе ближайшего почтового индекса. Например, если у пользователя есть почтовый индекс 60013, тогда программа увидит, что 60020 является ближайшим почтовым индексом, а затем возвращает 13.5 на основе этого поиска.
Я уже пробовал сделать SAXParser, и я могу вернуть первое значение, однако я не могу заставить SAXParser прочитать весь документ, чтобы найти ближайшее значение. У меня также есть алгоритм для нахождения ближайшего значения (просто для проверки цикла для разности значений), но опять же, я зациклился на всей идее, как проверить весь список значений. Я использую неправильный тип метода хранения? Должен ли я использовать SQL? Или другой парсер?
Благодарим за помощь.
Почему бы не закрыть сначала почтовый индекс, а затем выполнить поиск в файле XML? и вы можете выбрать Xpath для запроса XML-файла. http://www.ibm.com/developerworks/library/x-javaxpathapi/index.html –
Округление звучит отлично! Но есть ли в любом случае я могу использовать SAXParser для поиска определенного значения? Я посмотрел на Xpath, но если это возможно, я бы хотел использовать SAXParser, поскольку у меня уже есть эта настройка. –
SAXparser сам будет искать теги, он не будет их округлять, все XPath предпочтительнее для поиска документов XML, поскольку это относительно легко. –