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;
}