Как анализировать данные расстояния с iPhone из Google Rightions API?

StackOverflow https://stackoverflow.com/questions/3796642

Вопрос

Я пытаюсь получить расстояние между двумя местами (посредством дорог), и я получаю, что HTTP-запрос вернет XML со следующими данными

http://code.google.com/apis/maps/documentation/Directions/#xml.

Но я не понимаю, как использовать NSXMLParser, чтобы получить общее расстояние. Я бы предположил использовать

parser:didStartElement:namespaceURI:qualifiedName:attributes

Метод, но не уверен, как это работает. Элемент, который я хотел бы, я думаю, это «направления», но есть пара параметров такого. Как мне указать, какой я хочу? Это связано с параметром «Атрибуты»?

Это было полезно?

Решение

NSXMLParser это Sax Parser, и это означает, что вы должны предоставить методы обратного вызова для различных событий разбора, пока документ обрабатывается. Документация Google вы ссылаетесь, заставляет меня думать, что эти документы не имеют ужасных больших, и поэтому я бы лично не использовал Sax Parser.

Паршник дома, такой как NSXMLDocument гораздо проще использовать, но, к сожалению, Apple не включил NSXMLDocument в iOS SDK. Есть несколько альтернатив, в том числе TouchXml..

Если вы заботитесь только об общем расстоянии, а не расстояние каждой ноги или шага, то простой XPath Query получит все расстояния для вас: //leg/step/distance/value. Отказ Петлю через них и суммируйте их.

Другие советы

Вы используете DIDSTARTELEMED, чтобы найти нужную вам элемент, чем вы должны использовать метод на основе насаждения для сбора содержимого тега (его можно назвать более одного), поэтому только когда метод DiDendelement вы можете использовать содержимое тега для того, что вы хотите.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top