xml格式如下
<?xmlversion="1.0" encoding="UTF-8"?>
<response>
<code>1</code> --返回碼
<msg>成功</msg> --返回信息
<number>1</number> --返回記錄數
<data>
<row> --返回數據
<yzm>1375</yzm>
</row>
</data>
</response>
pull解析
// 解析接口返回的xml數據public static List<Map<String, String>> parserXml(String strXML) {
List<Map<String, String>> theList = null;
try {
// 利用ANDROID提供的API快速獲得pull解析器
XmlPullParser pullParser = Xml.newPullParser();
// 設置需要解析的XML數據
pullParser.setInput(new StringReader(strXML));
// 取得事件
int event = pullParser.getEventType();
// 若爲解析到末尾,文檔結束
Map<String, String> map = null;
Map<String, String> mapIn = null;
while (event != XmlPullParser.END_DOCUMENT) {
String nodeName = pullParser.getName();
switch (event) {
// 文檔開始
case XmlPullParser.START_DOCUMENT:
break;
// 標籤開始
case XmlPullParser.START_TAG:
if ("row".equalsIgnoreCase(nodeName)) {
map = new HashMap<String, String>();
}else if (map != null) {
String str = pullParser.nextText();
map.put(nodeName, str);
}
break;
// 標籤結束
case XmlPullParser.END_TAG:
if ("row".equalsIgnoreCase(nodeName)) {
if (map != null) {
if (theList == null)
theList = new ArrayList<Map<String, String>>();
if (theList != null)
theList.add(map);
map = null;
}
}
break;
}
// 下一個標籤
event = pullParser.next();
}
} catch (Exception e) {
e.printStackTrace();
theList = null;
}
return theList;
}