Здравствуйте,
пишу программу на Java, мне нужно получить координаты по адресу. Для этого использую геокодер от яндекса.
Делаю запрос по адресу:
https://geocode-maps.yandex.ru/1.x/?geocode=460048,%20Россия,%20Оренбургская%20область,%20г.%20Оренбург,%20ул.Монтажников,%2018
В ответ получаю в виде XML:
<?xml version="1.0" encoding="utf-8"?>
<ymaps xmlns="http://maps.yandex.ru/ymaps/1.x" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation=" http://maps.yandex.ru/business/1.x http://maps.yandex.ru/schemas/business/1.x/business.xsd http://maps.yandex.ru/geocoder/1.x http://maps.yandex.ru/schemas/geocoder/1.x/geocoder.xsd http://maps.yandex.ru/psearch/1.x http://maps.yandex.ru/schemas/psearch/1.x/psearch.xsd http://maps.yandex.ru/search/1.x http://maps.yandex.ru/schemas/search/1.x/search.xsd http://maps.yandex.ru/web/1.x http://maps.yandex.ru/schemas/web/1.x/web.xsd http://maps.yandex.ru/search/internal/1.x http://maps.yandex.ru/schemas/search/internal/1.x/internal.xsd">
<GeoObjectCollection>
<metaDataProperty xmlns="http://www.opengis.net/gml">
<GeocoderResponseMetaData xmlns="http://maps.yandex.ru/geocoder/1.x">
<request>460048, Россия, Оренбургская область, г. Оренбург, ул.Монтажников, 18</request>
<found>1</found>
<results>10</results>
</GeocoderResponseMetaData>
</metaDataProperty>
<featureMember xmlns="http://www.opengis.net/gml">
<GeoObject xmlns="http://maps.yandex.ru/ymaps/1.x" xmlns:gml="http://www.opengis.net/gml" gml:id="1">
<metaDataProperty xmlns="http://www.opengis.net/gml">
<GeocoderMetaData xmlns="http://maps.yandex.ru/geocoder/1.x">
<kind>house</kind>
<text>Россия, Оренбург, улица Монтажников, 18</text>
<precision>exact</precision>
<Address xmlns="http://maps.yandex.ru/address/1.x">
<country_code>RU</country_code>
<formatted>Оренбург, улица Монтажников, 18</formatted>
<Component>
<kind>country</kind>
<name>Россия</name>
</Component>
<Component>
<kind>province</kind>
<name>Приволжский федеральный округ</name>
</Component>
<Component>
<kind>province</kind>
<name>Оренбургская область</name>
</Component>
<Component>
<kind>area</kind>
<name>городской округ Оренбург</name>
</Component>
<Component>
<kind>locality</kind>
<name>Оренбург</name>
</Component>
<Component>
<kind>street</kind>
<name>улица Монтажников</name>
</Component>
<Component>
<kind>house</kind>
<name>18</name>
</Component>
</Address>
<AddressDetails xmlns="urn:oasis:names:tc:ciq:xsdschema:xAL:2.0">
<Country>
<AddressLine>Оренбург, улица Монтажников, 18</AddressLine>
<CountryNameCode>RU</CountryNameCode>
<CountryName>Россия</CountryName>
<AdministrativeArea>
<AdministrativeAreaName>Оренбургская область</AdministrativeAreaName>
<SubAdministrativeArea>
<SubAdministrativeAreaName>городской округ Оренбург</SubAdministrativeAreaName>
<Locality>
<LocalityName>Оренбург</LocalityName>
<Thoroughfare>
<ThoroughfareName>улица Монтажников</ThoroughfareName>
<Premise>
<PremiseNumber>18</PremiseNumber>
</Premise>
</Thoroughfare>
</Locality>
</SubAdministrativeArea>
</AdministrativeArea>
</Country>
</AddressDetails>
</GeocoderMetaData>
</metaDataProperty>
<description xmlns="http://www.opengis.net/gml">Оренбург, Россия</description>
<name xmlns="http://www.opengis.net/gml">улица Монтажников, 18</name>
<boundedBy xmlns="http://www.opengis.net/gml">
<Envelope>
<lowerCorner>55.143272 51.798303</lowerCorner>
<upperCorner>55.151483 51.803393</upperCorner>
</Envelope>
</boundedBy>
<Point xmlns="http://www.opengis.net/gml">
<pos>55.147378 51.800848</pos>
</Point>
</GeoObject>
</featureMember>
</GeoObjectCollection>
</ymaps>
Для парсинга использую пример тут:
blog.eqlbin.ru/2011/03/jdom-xml-java.html
Но в примере мало вложенностей, а в ответе яндекса их много.
Как мне быстро получить доступ к значению
GeoObjectCollection -> metaDataProperty -> GeocoderResponseMetaData -> results
Заранее большое спасибо!