Обработка ответа Яндекс Геокодер — различия между версиями

Материал из Umicms
Перейти к:навигация, поиск
 
(не показана 1 промежуточная версия этого же участника)
Строка 1: Строка 1:
 +
'''Актуально для версии 2.9'''
 +
 
Для извлечения данных полученных от геокодера Яндекс необходимо добавить соответствующие пространства имён, которые можно увидеть на странице [http://api.yandex.ru/maps/doc/geocoder/desc/reference/geocoder_namespaces.xml]
 
Для извлечения данных полученных от геокодера Яндекс необходимо добавить соответствующие пространства имён, которые можно увидеть на странице [http://api.yandex.ru/maps/doc/geocoder/desc/reference/geocoder_namespaces.xml]
 
также, необходимо добавить пространство имён "x".<br />Всё это необходимо, так как в ответе мы получим все ноды в XML c пространствами имён, и несмотря на то, что через select="." мы получаем XML без них, для того чтобы добраться до нужной ноды в xpath эти пространства имён следует учесть. Убедиться в этом можно используя плагин для firefox firepath.<br />
 
также, необходимо добавить пространство имён "x".<br />Всё это необходимо, так как в ответе мы получим все ноды в XML c пространствами имён, и несмотря на то, что через select="." мы получаем XML без них, для того чтобы добраться до нужной ноды в xpath эти пространства имён следует учесть. Убедиться в этом можно используя плагин для firefox firepath.<br />
Строка 7: Строка 9:
 
"x:ymaps/x:GeoObjectCollection/gml:featureMember[1]/x:GeoObject/gml:Point/gml:pos"<br />
 
"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"
Таким образом, используя пространства имён мы можем получить необходимые значения из ответа геокодера Яндекс.