Обработка ответа Яндекс Геокодер — различия между версиями
Davidov (обсуждение | вклад) (Новая страница: «Для извлечения данных полученных от геокодера Яндекс необходимо добавить соответствующи…») |
Mad grant (обсуждение | вклад) |
||
(не показаны 3 промежуточные версии 2 участников) | |||
Строка 1: | Строка 1: | ||
− | Для извлечения данных полученных от геокодера Яндекс необходимо добавить соответствующие пространства имён, которые можно увидеть на странице [http://api.yandex.ru/maps/doc/geocoder/desc/reference/geocoder_namespaces.xml] также, необходимо добавить пространство имён "x". Всё это необходимо, так как в ответе мы получим все ноды в XML c пространствами имён, и несмотря на то, что через select="." мы получаем XML без них, для того чтобы добраться до нужной ноды в xpath | + | '''Актуально для версии 2.9''' |
+ | |||
+ | Для извлечения данных полученных от геокодера Яндекс необходимо добавить соответствующие пространства имён, которые можно увидеть на странице [http://api.yandex.ru/maps/doc/geocoder/desc/reference/geocoder_namespaces.xml] | ||
+ | также, необходимо добавить пространство имён "x".<br />Всё это необходимо, так как в ответе мы получим все ноды в XML c пространствами имён, и несмотря на то, что через select="." мы получаем XML без них, для того чтобы добраться до нужной ноды в xpath эти пространства имён следует учесть. Убедиться в этом можно используя плагин для firefox firepath.<br /> | ||
При включенном firepath откроем тестовый запрос к геокодеру | При включенном firepath откроем тестовый запрос к геокодеру | ||
[http://geocode-maps.yandex.ru/1.x/?geocode=moskva] | [http://geocode-maps.yandex.ru/1.x/?geocode=moskva] | ||
на открывшейся странице мы видим чистую XML, но firepath нам покажет что все ноды имеют пространство имён. | на открывшейся странице мы видим чистую XML, но firepath нам покажет что все ноды имеют пространство имён. | ||
− | Соответственно, чтобы добараться до нужного значения мы можем воспользоваться firepath, например, чтобы получить ноду pos, xpath будет выглядеть так: | + | Соответственно, чтобы добараться до нужного значения мы можем воспользоваться firepath, например, чтобы получить ноду pos, xpath будет выглядеть так:<br /> |
− | "x:ymaps/x:GeoObjectCollection/gml:featureMember[1]/x:GeoObject/gml:Point/gml:pos" | + | "x:ymaps/x:GeoObjectCollection/gml:featureMember[1]/x:GeoObject/gml:Point/gml:pos"<br /> |
− | + | Таким образом, используя пространства имён мы можем получить необходимые значения из ответа геокодера Яндекс. | |
− | [[Категория:Верстка в XSLT]] | + | [[Категория:Верстка в XSLT]][[Категория:Сторонние сервисы и программы]] |
Текущая версия на 09:26, 5 июня 2013
Актуально для версии 2.9
Для извлечения данных полученных от геокодера Яндекс необходимо добавить соответствующие пространства имён, которые можно увидеть на странице [1]
также, необходимо добавить пространство имён "x".
Всё это необходимо, так как в ответе мы получим все ноды в XML c пространствами имён, и несмотря на то, что через select="." мы получаем XML без них, для того чтобы добраться до нужной ноды в xpath эти пространства имён следует учесть. Убедиться в этом можно используя плагин для firefox firepath.
При включенном firepath откроем тестовый запрос к геокодеру
[2]
на открывшейся странице мы видим чистую XML, но firepath нам покажет что все ноды имеют пространство имён.
Соответственно, чтобы добараться до нужного значения мы можем воспользоваться firepath, например, чтобы получить ноду pos, xpath будет выглядеть так:
"x:ymaps/x:GeoObjectCollection/gml:featureMember[1]/x:GeoObject/gml:Point/gml:pos"
Таким образом, используя пространства имён мы можем получить необходимые значения из ответа геокодера Яндекс.