android 开发之解析XML文件
2010-07-01 15:18:00 来源:WEB开发网public void setCondition(String condition) {
this.condition = condition;
}
}
SAX解析XMl需要实现一个解析器,我们只要继承org.xml.sax.helpers.DefaultHandler即可。如下所示:
package com.ideasandroid.mbt.handler;
import java.util.ArrayList;
import java.util.List;
import org.xml.sax.Attributes;
import org.xml.sax.SAXException;
import org.xml.sax.helpers.DefaultHandler;
import android.os.Bundle;
import android.os.Handler;
import android.os.Message;
import com.ideasandroid.mbt.vo.GForecastConditions;
import com.ideasandroid.mbt.vo.GoogleWeather;
/**
* @author "IdeasAndroid示例代码" SAX XML解析器
*/
public class GoogleWeatherHandler extends DefaultHandler {
private Handler handler;
private GoogleWeather googleWeather;
private List
private GForecastConditions gfc;
// 用于判断是否开始读取未来几天天气情况
private boolean forecastTag = false;
public GoogleWeatherHandler(Handler handler) {
this.handler = handler;
}
/*
* 本方法在完成整个XML文档解析时调用
*/
public void endDocument() throws SAXException {
//这里我们将结果返回给android中的Handler,然后在Handler中对数据再进行相应的处理
googleWeather.setForecastConditions(forecastConditions);
Message message = new Message();
Bundle bd = new Bundle();
bd.putSerializable("weather", googleWeather);
message.setData(bd);
handler.sendMessage(message);
}
/*
* 本方法在开始解析XML时调用 这里我们在开始解析XML时,创建一个天气对象googleWeather用来存储xml返回的天气情况
* 创建一个List用来保存未来几天的天气情况
更多精彩
赞助商链接