私はAndroidでユーザーアドレスを取得するためにGoogle APIジオコードを使用しています。繰り返しタグへの部分文字列オフセットを操作する方法
私が得る応答のようなものです:
<GeocodeResponse>
<status>OK</status>
<result>
<type>street_address</type>
<formatted_address>
R. Dante Marobi, 142 - Colina Verde, Mococa - SP, Brasil
</formatted_address>
<address_component>
<long_name>142</long_name>
<short_name>142</short_name>
<type>street_number</type>
</address_component>
<address_component>
<long_name>Rua Dante Marobi</long_name>
<short_name>R. Dante Marobi</short_name>
<type>route</type>
</address_component>
<address_component>
<long_name>Colina Verde</long_name>
<short_name>Colina Verde</short_name>
<type>political</type>
<type>sublocality</type>
<type>sublocality_level_1</type>
</address_component>
<address_component>
<long_name>Mococa</long_name>
<short_name>Mococa</short_name>
<type>locality</type>
<type>political</type>
</address_component>
<address_component>
<long_name>Mococa</long_name>
<short_name>Mococa</short_name>
<type>administrative_area_level_2</type>
<type>political</type>
</address_component>
<address_component>
<long_name>São Paulo</long_name>
<short_name>SP</short_name>
<type>administrative_area_level_1</type>
<type>political</type>
</address_component>
私は文字列に唯一の都市名
<type> locality
を得るために、このような構造を使用していますが、私は知りません文字列を操作してそこに到達する方法。
私はこのように、そうするように教えてチュートリアルを見つけた:
String cidade = resposta.substring(resposta.indexOf("<formatted_adress>") + 19, resposta.indexOf("</formatted_adress>"));
事はある、私はformatted_address一部を望んでいない、私はadress_componentをしたいが、多くのaddress_componentタグがあり、Iオフセットを市の名前を参照するものにする方法を知らない。
どうすればよいですか?
ありがとうございました。
XMLテキストを処理する最も良い方法は、XMLパーサーを使用することです。 [StAX](https://docs.oracle.com/javase/tutorial/jaxp/stax/index.html)。 – Andreas