android http请求并解析返回的xml

原创 2012年03月30日 10:32:40
String requestUrl = RequestUrlMng.getHost(context)+"/mservices/user/updateNickname.action?nickname="+nickname;
HttpGet httpRequest = new HttpGet(requestUrl);
try{
	HttpClient httpClient = new DefaultHttpClient();
	HttpResponse httpResponse = httpClient.execute(httpRequest);
	if(httpResponse.getStatusLine().getStatusCode() != HttpStatus.SC_OK)
	{
	     Log.e("XXX", "can't reach:"+httpResponse.getStatusLine().getStatusCode());
	     return;
	}
	SAXParserFactory factory = SAXParserFactory.newInstance();
	SAXParser parser = factory.newSAXParser();
	XMLContentHandler handler = new XMLContentHandler();
	parser.parse(httpResponse.getEntity().getContent(), handler);
	Toast.makeText(context, handler.getResult().getStatus()+":"+handler.getResult().getMsg(), Toast.LENGTH_LONG).show();
}catch(Exception e){
	Log.e("XXX", e.getMessage());
}

class XMLContentHandler extends DefaultHandler{
		private RequestResult res;
		private static final String STATUS = "status";
		private static final String MSG = "msg";
		private String tmpStr;
		private String content;
		public RequestResult getResult(){
			return res;
		}
		@Override
		public void startDocument() throws SAXException{
			
		}
		@Override
		public void characters(char[] ch,int start,int length)
		                    throws SAXException{

		     content = new String(ch,start,length);


		}
		@Override
		public void startElement(String uri,String localName,String name
				,Attributes attrs) throws SAXException{
			if("result".equals(localName)){
				res = new RequestResult();
				Log.i("XXX", "<result>");
			}
			tmpStr = localName;
		}
		@Override
		public void endElement(String uri,String localName,String name)
		                          throws SAXException{
			if(STATUS.equals(localName))
				res.setStatus(content);
			else if(MSG.equals(localName))
				res.setMsg(content);
			if("result".equals(localName))
				Log.i("XXX", "</result>");
			else
			    Log.i("XXX", "<"+localName+">"+content+"</"+localName+">");
		}
	}

xml文件格式:

<result>
<status>0</status>
<msg>成功</msg>
</result>



android中Http请求及XML,JSON解析

get和post请求方式区别: get方式是把请求数据放放在URL(www.baidu.com?name=abc&pw=12345)中的?name=abc&pw=12345里发送到服务器,大小有限制,...

Session的用法(代码解析)

问题?在Web开发过程中,都会涉及到session的用法,比如网站用户的登陆在线状态,还有session持久化等等。 细说session的用法,代码分析 注:都在servlet类中的执行 第一步...
  • Mr_li13
  • Mr_li13
  • 2015年10月04日 16:42
  • 4384

session的基本用法--留给自己看

  • vipzjh
  • vipzjh
  • 2016年09月22日 07:20
  • 4369

关于Android中http请求Gosn解析的一些个人见解: 首先是XML中构建布局: 在布局里面建一个listview用来展示Gson解析的字符

xmlns:android="http://schemas.android.com/apk/res/android"         xmlns:tools="http://schemas.andr...

解析Xml&amp;Http请求DEMO

  • 2010年12月23日 11:59
  • 49KB
  • 下载

android中的http通讯----(5)客户端解析xml文件

xml文件也是客户端和服务器之间进行数据传输的重要格式,本案例演示如何在客户端解析服务端发来的xml文件 首先,我们现在服务器端放置xml文件 注意如果是用MyEclipse做服务器端,一定要把x...

android HTTP 通信, XML 解析, 通过 Hander 实现异步消息处理

package com.webabcd.handler; import android.app.Activity; import android.os.Bundle; import android....

系出名门Android(10) - HTTP 通信, XML 解析, 通过 Hander 实现异步消息处理

系出名门Android(10) - HTTP 通信, XML 解析, 通过 Hander 实现异步消息处理 作者:webabcd 介绍 在 Android 中与服务端做 HTTP...

android之Http下载 和xml 解析(SAX)

Http下载步骤: =========================================================================================...
  • Mr_ZJC
  • Mr_ZJC
  • 2014年11月23日 19:35
  • 450

Android --- Http协议,解析服务器中给定的XML文件时的权限问题

如题:要求使用Http协议中的POST方法,解析存在服务器中的XML文件。 服务器使用的是Tomcat搭建,在webapp目录下自定义一个xml文件。 1 2012-04-04 ...
  • bys0201
  • bys0201
  • 2012年04月06日 14:50
  • 1126
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:android http请求并解析返回的xml
举报原因:
原因补充:

(最多只允许输入30个字)