我需要解析一个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>我需要找到值为"Lisboa“的"long_name”标签,它在类型标签为administrative_area_level_1时出现。我尝试了以下方法,但不起作用:
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如果能帮上一点忙就好了。提前谢谢。
发布于 2011-06-30 01:21:37
尝试如下所示:
records = new XmlSlurper().parseText(xml)
records.result.address_component.find { address ->
address.type.any { type ->
type == 'administrative_area_level_1'
}
}.long_namehttps://stackoverflow.com/questions/6524106
复制相似问题