Analisar XML e recuperar informações Várias camadas de nós Deep Java / Android
Estou trabalhando com um exemplo fornecido pelo meu professor que obtém dados de um site de previsão do tempo e analisa o arquivo XML para mostrar as condições meteorológicas em uma lista. Meu programa é semelhante, mas quero recuperar informações aninhadas em vários nós e não sei como obtê-las. Aqui está o arquivo XML do qual estou trabalhando:
<?xml version="1.0" encoding="UTF-8"?>
<DirectionsResponse>
<status>OK</status>
<route>
<summary>S Street Viaduct</summary>
<leg>
<step>
<travel_mode>DRIVING</travel_mode>
<start_location>
<lat>40.7021400</lat>
<lng>-74.0158200</lng>
</start_location>
<end_location>
<lat>40.7021400</lat>
<lng>-74.0158200</lng>
</end_location>
<polyline>
<points>kslwFzewbM</points>
<levels>B</levels>
</polyline>
<duration>
<value>0</value>
<text>1 min</text>
</duration>
<html_instructions>Head <b>east</b> on <b>S Street Viaduct</b></html_instructions>
<distance>
<value>0</value>
<text>1 ft</text>
</distance>
</step>
<duration>
<value>0</value>
<text>1 min</text>
</duration>
<distance>
<value>0</value>
<text>1 ft</text>
</distance>
<start_location>
<lat>40.7021400</lat>
<lng>-74.0158200</lng>
</start_location>
<end_location>
<lat>40.7021400</lat>
<lng>-74.0158200</lng>
</end_location>
<start_address>S Street Viaduct, New York, NY 10004, USA</start_address>
<end_address>S Street Viaduct, New York, NY 10004, USA</end_address>
</leg>
<copyrights>Map data ©2010 Google, Sanborn</copyrights>
<overview_polyline>
<points>kslwFzewbM</points>
<levels>B</levels>
</overview_polyline>
</route>
</DirectionsResponse>
Estou realmente interessado apenas em recuperar as informações na tag "html_instructions", mas estão aninhadas nas tags "route", "leg" e "step". Eu já vi vários tutoriais e perguntas sobre SO sobre a análise de XML, mas não consegui encontrar uma solução para isso. Qualquer direção seria muito apreciada!
Obrigado.