android http请求并解析返回的xml
16lz
2021-01-23
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;}@Overridepublic void startDocument() throws SAXException{}@Overridepublic void characters(char[] ch,int start,int length) throws SAXException{ content = new String(ch,start,length);}@Overridepublic void startElement(String uri,String localName,String name,Attributes attrs) throws SAXException{if("result".equals(localName)){res = new RequestResult();Log.i("XXX", "");}tmpStr = localName;}@Overridepublic 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", " ");else Log.i("XXX", "<"+localName+">"+content+""+localName+">");}}
xml文件格式:
0 成功
更多相关文章
- Android 可選文件格式瀏覽器
- Android初始化语言 (init.*.rc、init.conf文件格式)
- Android的多语言文件转IOS多语言文件格式
- Android 文件格式
- Android 支持的 media 文件格式--MediaFile
- android MTP 过滤指定的文件格式
- android支持的media文件格式--MediaFile