转载请注明出处:http://blog.csdn.net/skyunicorn/article/details/51003286,谢谢
有时候我们遇到<string xmlns="http://tempuri.org/">坑你,就是坑你</string>这种情况怎么办?
按照我们上次讲的PULL解析,对这个完全无效啊,这个哪有上次我们说的那些根元素节点,子元素节点,属性之类的东西?
别急,下面给出解析方法:
HttpURLConnection con = (HttpURLConnection) new URL(url).openConnection();
con.setRequestMethod("GET"); //设置连接为GET
con.setConnectTimeout(5000); //连接超时的时间
int i = con.getResponseCode(); //获取连接状态
if (i == 200) { //状态码为200时连接成功
InputStream is = con.getInputStream();
parser.setInput(is, "UTF-8"); //将输入流置为UTF-8格式
int eventType = parser.getEventType();
//解析XML
while (eventType != XmlPullParser.END_DOCUMENT) {
switch (eventType) {
case XmlPullParser.START_DOCUMENT: //文档开始事件,可以进行数据的初始化处理
break;
case XmlPullParser.START_TAG: //开始元素事件
String name = parser.getName();
if (name.equalsIgnoreCase("string")) {
str = parser.nextText();
}
break;
case XmlPullParser.END_TAG: //结束元素事件
break;
}
eventType = parser.next();
}
is.close();
这样就可以了取出来数据了,用Log.i(TAG,str);就可以查看取出的数据。