本文主要講解Android開發中如何對XML文件的解析,由於XML文件具有與平台無關,廣泛應用於數據通信中,因此解析XML文件就顯得很有意義。Android對XML文件解析的方法主要有3種。 通常有三種方式:DOM、SAX和PULL,下面就分別針對這三種方式來進行討論。
假設我們在開發天氣預報應用程序的時候,使用google給我們提供的API,以及天氣預報數據,例如我們要獲得北京當前的天氣預報數據,即可在浏覽器中輸入如下地址:http://www.google.com/ig/api?&weather=beijing。 則可以看到一個XML文件展現在我們面前,對於此XML文件Google給我們的說明是:
“This XML file does not appear to have any style informationassociated with it. The document tree is shown below”.即此XML文件沒有任何樣式信息,只有文檔結構樹的顯示。
文件內容如下所示:
- <xml_api_reply version="1">
- <weather module_id="0" tab_id="0" mobile_row="0" mobile_zipped="1" row="0" section="0">
- <forecast_information>
- <city data="Beijing, Beijing"/>
- <postal_code data="beijing"/>
- <latitude_e6 data=""/>
- <longitude_e6 data=""/>
- <forecast_date data="2012-07-24"/>
- <current_date_time data="2012-07-24 15:30:00 +0000"/>
- <unit_system data="SI"/>
- </forecast_information>
- <current_conditions>
- <condition data="多雲"/>
- <temp_f data="77"/>
- <temp_c data="25"/>
- <humidity data="濕度: 78%"/>
- <icon data="/ig/images/weather/cn_cloudy.gif"/>
- <wind_condition data="風向: 東北、風速:2 米/秒"/>
- </current_conditions>
- <forecast_conditions>
- <day_of_week data="周二"/>
- <low data="22"/>
- <high data="30"/>
- <icon data="/ig/images/weather/cn_cloudy.gif"/>
- <condition data="多雲"/>
- </forecast_conditions>
- <forecast_conditions>
- <day_of_week data="周三"/>
- <low data="24"/>
- <high data="30"/>
- <icon data="/ig/images/weather/chance_of_rain.gif"/>
- <condition data="可能有雨"/>
- </forecast_conditions>
- <forecast_conditions>
- <day_of_week data="周四"/>
- <low data="25"/>
- <high data="29"/>
- <icon data="/ig/images/weather/thunderstorm.gif"/>
- <condition data="雷陣雨"/>
- </forecast_conditions>
- <forecast_conditions>
- <day_of_week data="周���"/>
- <low data="24"/>
- <high data="31"/>
- <icon data="/ig/images/weather/chance_of_storm.gif"/>
- <condition data="可能有暴風雨"/>
- </forecast_conditions>
- </weather>
- </xml_api_reply>