xml格式数据解析

来源:互联网 发布:王权富贵东方月初乐乎 编辑:程序博客网 时间:2024/05/17 01:43

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;
}
1 0
原创粉丝点击