WEB开发网
开发学院手机开发Android 开发 android 开发之解析XML文件 阅读

android 开发之解析XML文件

 2010-07-01 15:18:00 来源:WEB开发网   
核心提示:if (localName.equals("wind_condition")) {googleWeather.setWindCondition(atts.getValue("data"));}}}/** 本方法在结束一个标签时调用*/public void endElement(

if (localName.equals("wind_condition")) {

googleWeather.setWindCondition(atts.getValue("data"));

}

}

}

/*

* 本方法在结束一个标签时调用

*/

public void endElement(String namespaceURI, String localName, String qName)

throws SAXException {

// 当遇到标签时,说明当前天气情况解析完毕,下一步将

// 解析未来几天的天气,所以将forecastTag设置为true

if (localName.equals("current_conditions")) {

forecastTag = true;

}

// 遇到里,设置forecastTag为false

if (localName.equals("weather")) {

forecastTag = false;

}

// 当遇到时,说明未来一天的天气情况解析完毕,

// 我们将它增加到list中,接着往下解析

if (localName.equals("forecast_conditions")) {

forecastConditions.add(gfc);

}

}

public void characters(char[] p0, int p1, int p2) throws SAXException {

// 本方法用来解析ideasandroid 这样的标签 本例中没有用到 可结合startElement 和

// endElement使用

// new String(p0, p1, p2)即可取得值ideasandroid

}

}

具体的解析过程在注释中已说明,这里不在阐述,下面我们看看怎么样读取XML文件,并解析XML,如下所示:

//获取SAX解析工厂实例

SAXParserFactory spf = SAXParserFactory.newInstance();

URL url = new URL(weatherUrl);

SAXParser saxParser = spf.newSAXParser();

XMLReader xr = saxParser.getXMLReader();

//设置解析器为刚才我们创建的GoogleWeatherHandler

xr.setContentHandler(mweatherhandler);

InputStreamReader isr = new InputStreamReader(url.openStream(), "GBK");

//开始解析

xr.parse(new InputSource(isr));

好了,这样我们就完成了两个xml的解析过程!有问题!请留言!

原文: http://www.ideasandroid.com/?p=231

上一页  1 2 3 4 5 6 

Tags:android 开发 解析

编辑录入:coldstar [复制链接] [打 印]
赞助商链接