Leitura de XML a partir de retorno de URL Google Maps

Bom dia a todos.

Gostaria de uma sugestão para realizar a leitura de um arquivo xml que me é retornado a partir de uma URL de pesquisa do google Maps. O retorno é somente o endereço de acordo com a posição passada na url (Lat, Long).

URL: http://maps.google.com/maps/geo?output=xml&q=-22.738350,+-47.338135

Retorno no browser:


    <?xml version="1.0" encoding="UTF-8" ?> 
- <kml xmlns="http://earth.google.com/kml/2.0">
- <Response>
  <name>-22.738350, -47.338135</name> 
- <Status>
  <code>200</code> 
  <request>geocode</request> 
  </Status>
- <Placemark id="p1">
  <address>R. Doze de Novembro, 944-1050 - Centro, Americana - SP, 13465-490, Brasil</address> 
- <AddressDetails Accuracy="8" xmlns="urn:oasis:names:tc:ciq:xsdschema:xAL:2.0">
- <Country>
  <CountryNameCode>BR</CountryNameCode> 
  <CountryName>Brasil</CountryName> 
- <AdministrativeArea>
  <AdministrativeAreaName>SP</AdministrativeAreaName> 
- <Locality>
  <LocalityName>Americana</LocalityName> 
- <DependentLocality>
  <DependentLocalityName>Centro</DependentLocalityName> 
- <Thoroughfare>
  <ThoroughfareName>R. Doze de Novembro, 944-1050</ThoroughfareName> 
  </Thoroughfare>
- <PostalCode>
  <PostalCodeNumber>13465-490</PostalCodeNumber> 
  </PostalCode>
  </DependentLocality>
  </Locality>
  </AdministrativeArea>
  </Country>
  </AddressDetails>
- <ExtendedData>
  <LatLonBox north="-22.7352618" south="-22.7415570" east="-47.3354824" west="-47.3417776" /> 
  </ExtendedData>
- <Point>
  <coordinates>-47.3381355,-22.7383451,0</coordinates> 
  </Point>
  </Placemark>
- <Placemark id="p2">
  <address>Americana - SP, 13465-450, Brasil</address> 
- <AddressDetails Accuracy="5" xmlns="urn:oasis:names:tc:ciq:xsdschema:xAL:2.0">
- <Country>
  <CountryNameCode>BR</CountryNameCode> 
  <CountryName>Brasil</CountryName> 
- <PostalCode>
  <PostalCodeNumber>13465-450</PostalCodeNumber> 
  </PostalCode>
  </Country>
  </AddressDetails>
- <ExtendedData>
  <LatLonBox north="-22.7366708" south="-22.7429660" east="-47.3347294" west="-47.3410246" /> 
  </ExtendedData>
- <Point>
  <coordinates>-47.3376226,-22.7401172,0</coordinates> 
  </Point>
  </Placemark>
- <Placemark id="p3">
  <address>Americana - SP, 13465-490, Brasil</address> 
- <AddressDetails Accuracy="5" xmlns="urn:oasis:names:tc:ciq:xsdschema:xAL:2.0">
- <Country>
  <CountryNameCode>BR</CountryNameCode> 
  <CountryName>Brasil</CountryName> 
- <PostalCode>
  <PostalCodeNumber>13465-490</PostalCodeNumber> 
  </PostalCode>
  </Country>
  </AddressDetails>
- <ExtendedData>
  <LatLonBox north="-22.7349723" south="-22.7412675" east="-47.3287814" west="-47.3411515" /> 
  </ExtendedData>
- <Point>
  <coordinates>-47.3345654,-22.7381133,0</coordinates> 
  </Point>
  </Placemark>
- <Placemark id="p4">
  <address>Americana - SP, 13465-500, Brasil</address> 
- <AddressDetails Accuracy="5" xmlns="urn:oasis:names:tc:ciq:xsdschema:xAL:2.0">
- <Country>
  <CountryNameCode>BR</CountryNameCode> 
  <CountryName>Brasil</CountryName> 
- <PostalCode>
  <PostalCodeNumber>13465-500</PostalCodeNumber> 
  </PostalCode>
  </Country>
  </AddressDetails>
- <ExtendedData>
  <LatLonBox north="-22.7358293" south="-22.7421245" east="-47.3285244" west="-47.3417165" /> 
  </ExtendedData>
- <Point>
  <coordinates>-47.3351770,-22.7391127,0</coordinates> 
  </Point>
  </Placemark>
- <Placemark id="p5">
  <address>Centro, Americana - SP, Brasil</address> 
- <AddressDetails Accuracy="4" xmlns="urn:oasis:names:tc:ciq:xsdschema:xAL:2.0">
- <Country>
  <CountryNameCode>BR</CountryNameCode> 
  <CountryName>Brasil</CountryName> 
- <AdministrativeArea>
  <AdministrativeAreaName>SP</AdministrativeAreaName> 
- <Locality>
  <LocalityName>Americana</LocalityName> 
- <DependentLocality>
  <DependentLocalityName>Centro</DependentLocalityName> 
  </DependentLocality>
  </Locality>
  </AdministrativeArea>
  </Country>
  </AddressDetails>
- <ExtendedData>
  <LatLonBox north="-22.7332194" south="-22.7470044" east="-47.3248744" west="-47.3411515" /> 
  </ExtendedData>
- <Point>
  <coordinates>-47.3302847,-22.7413068,0</coordinates> 
  </Point>
  </Placemark>
- <Placemark id="p6">
  <address>Americana - SP, Brasil</address> 
- <AddressDetails Accuracy="4" xmlns="urn:oasis:names:tc:ciq:xsdschema:xAL:2.0">
- <Country>
  <CountryNameCode>BR</CountryNameCode> 
  <CountryName>Brasil</CountryName> 
- <AdministrativeArea>
  <AdministrativeAreaName>SP</AdministrativeAreaName> 
- <Locality>
  <LocalityName>Americana</LocalityName> 
  </Locality>
  </AdministrativeArea>
  </Country>
  </AddressDetails>
- <ExtendedData>
  <LatLonBox north="-22.6631910" south="-22.7849290" east="-47.1926640" west="-47.3876220" /> 
  </ExtendedData>
- <Point>
  <coordinates>-47.3319134,-22.7387884,0</coordinates> 
  </Point>
  </Placemark>
- <Placemark id="p7">
  <address>São Paulo, Brasil</address> 
- <AddressDetails Accuracy="2" xmlns="urn:oasis:names:tc:ciq:xsdschema:xAL:2.0">
- <Country>
  <CountryNameCode>BR</CountryNameCode> 
  <CountryName>Brasil</CountryName> 
- <AdministrativeArea>
  <AdministrativeAreaName>SP</AdministrativeAreaName> 
  </AdministrativeArea>
  </Country>
  </AddressDetails>
- <ExtendedData>
  <LatLonBox north="-19.7797590" south="-25.3123450" east="-44.1609790" west="-53.1100510" /> 
  </ExtendedData>
- <Point>
  <coordinates>-49.3653149,-21.9113305,0</coordinates> 
  </Point>
  </Placemark>
- <Placemark id="p8">
  <address>Brasil</address> 
- <AddressDetails Accuracy="1" xmlns="urn:oasis:names:tc:ciq:xsdschema:xAL:2.0">
- <Country>
  <CountryNameCode>BR</CountryNameCode> 
  <CountryName>Brasil</CountryName> 
  </Country>
  </AddressDetails>
- <ExtendedData>
  <LatLonBox north="5.2711703" south="-34.0891000" east="-34.1016000" west="-73.9827172" /> 
  </ExtendedData>
- <Point>
  <coordinates>-51.9252800,-14.2350040,0</coordinates> 
  </Point>
  </Placemark>
- <Placemark id="p9">
  <address>South America</address> 
- <AddressDetails Accuracy="0" xmlns="urn:oasis:names:tc:ciq:xsdschema:xAL:2.0">
  <AddressLine>South America</AddressLine> 
  </AddressDetails>
- <ExtendedData>
  <LatLonBox north="13.0771914" south="-56.5474000" east="-32.5854000" west="-93.9771000" /> 
  </ExtendedData>
- <Point>
  <coordinates>-55.4914770,-8.7831950,0</coordinates> 
  </Point>
  </Placemark>
  </Response>
  </kml>

[b]Pergunta: Gostaria de saber se é possivel realizar a leitura dos dados (Endereço, Bairro, Cidade, etc…) diretamente recebendo os valores em uma String ou precisarei receber este xml e coloca-lo em um arquivo TXT e depois realizar a leitura.

Resumindo: Consigo ler diretamente o xml sem precisar salvar o conteudo do mesmo localmente? Eu utilizaria DOM para o mesmo, mas diretamente no retorno da URL.[/b]

grato

Você pode pôr direto em uma string. Procure pelas classes InputSource e java.io.StringReader.

Mano vc consegui fazer isto?? Como?? Estou tentando desta maneira:

DocumentBuilderFactory domFactory = DocumentBuilderFactory.newInstance(); domFactory.setNamespaceAware(true); DocumentBuilder builder = domFactory.newDocumentBuilder(); Document doc = builder.parse("http://maps.google.com.br/?q=de%2009910750%20para%2004686001&output=kml");

o problema eh q o meu obj “doc” esta vindo null… vc sabe oq poderia ser??

Abraco.