2011-06-29 7 views
2

私はgoogleReverseGeocoding XML応答を解析する必要があります。次のコードは応答サンプルです。ヘルプ

<GeocodeResponse> 
<status>OK</status> 
<result>...</result> 
<result> 
    <type>sublocality</type> 
    <type>political</type> 
    <formatted_address>Oeiras, Portugal</formatted_address> 
    <address_component> 
    <long_name>Oeiras</long_name> 
    <short_name>Oeiras</short_name> 
    <type>sublocality</type> 
    <type>political</type> 
    </address_component> 
    <address_component> 
    <long_name>Lisboa</long_name> 
    <short_name>Lisboa</short_name> 
    <type>administrative_area_level_1</type> 
    <type>political</type> 
    </address_component> 
<result>...</result> 
<result>...</result> 
</GeocodeResponse> 

私はタイプのタグがadministrative_area_level_1あるときに表示される値は「リスボン」と「LONG_NAME」タグを見つける必要があります。 私は次のことを試してみましたが、それは動作しません:

result.city = geocodeResponse.result.find{it.address_component.type == "administrative_area_level_1"}.address_component.find{it.type == "administrative_area_level_1"}.long_name as String 

少しの助けは素晴らしいことです。 ありがとうございます。

答えて

4

はこのような何か試してみてください:

records = new XmlSlurper().parseText(xml) 
records.result.address_component.find { address -> 
    address.type.any { type -> 
     type == 'administrative_area_level_1' 
    } 
}.long_name 
+0

作品を!どうもありがとう –