工作的时候需要往后台发送一个post数据请求

其中发送的xml数据为:

<?xml version = “1.0” ?>
<SSOMessage version=”1.0”>
<SSOParas>
<SeqID>SeqID</SeqID>
<CommandID>CommandID</CommandID>
<MSISDN>ABSCDSDF</MSISDN>
<ChargeMSISDN>ChargeMSISDN</ChargeMSISDN>
<SPID>SPID</SPID>
<Code> Code </ Code >
< IDtype > IDtype 0</ IDtype >
<ID> ID 0</ID>
</SSOParas>
</SSOMessage>

返回的xml数据为:

<?xml version = “1.0” ?>
<SSOMessage version=”1.0”>
<SSOParas>
<SeqID>SeqID</SeqID>
<ResultCode>ResultCode0</ResultCode>
</SSOParas>
</SSOMessage>

然后进行解析,代码如下,参考一下,对于以后再做post请求的时候,做参考

class httpThread implements Runnable {/* (non-Javadoc)* @see java.lang.Runnable#run()*/@Overridepublic void run() {// TODO Auto-generated method stub//组建xml数据StringBuilder xml = new StringBuilder();xml.append("<?xml version=\"1.0\" encoding=\"UTF-8\"?>");xml.append("<SSOMessage version=\"1.0\">");xml.append("<SSOParas>");xml.append("<SeqID>13333333333</SeqID>");xml.append("<CommandID>1</CommandID>");xml.append("<MSISDN>1333333333</MSISDN>");xml.append("<ChargeMSISDN>1333333333</ChargeMSISDN>");xml.append("<SPID>3510127</SPID>");xml.append("<Code></Code>");xml.append("<IDtype>0</IDtype>");xml.append("<ID>135000000000000216559</ID>");xml.append("</SSOParas>");xml.append("</SSOMessage>");try {byte[] xmlbyte = xml.toString().getBytes("UTF-8");System.out.println(xml);            URL url = new URL("http://118.85.194.28:8080/sotpms_server/GetSSOMessage");HttpURLConnection conn = (HttpURLConnection) url.openConnection();conn.setConnectTimeout(5000);conn.setDoOutput(true);// 允许输出conn.setDoInput(true);conn.setUseCaches(false);// 不使用缓存conn.setRequestMethod("POST");conn.setRequestProperty("Connection", "Keep-Alive");// 维持长连接conn.setRequestProperty("Charset", "UTF-8");conn.setRequestProperty("Content-Length",String.valueOf(xmlbyte.length));conn.setRequestProperty("Content-Type", "text/xml; charset=UTF-8");conn.setRequestProperty("X-ClientType", "2");//发送自定义的头信息
conn.getOutputStream().write(xmlbyte);conn.getOutputStream().flush();conn.getOutputStream().close();if (conn.getResponseCode() != 200)throw new RuntimeException("请求url失败");InputStream is = conn.getInputStream();// 获取返回数据
            // 使用输出流来输出字符(可选)ByteArrayOutputStream out = new ByteArrayOutputStream();byte[] buf = new byte[1024];int len;while ((len = is.read(buf)) != -1) {out.write(buf, 0, len);}String string = out.toString("UTF-8");System.out.println(string);out.close();// xml解析String version = null;String seqID = null;XmlPullParser parser = Xml.newPullParser();try {parser.setInput(new ByteArrayInputStream(string.substring(1).getBytes("UTF-8")), "UTF-8");parser.setInput(is, "UTF-8");int eventType = parser.getEventType();while (eventType != XmlPullParser.END_DOCUMENT) {if (eventType == XmlPullParser.START_TAG) {if ("SSOMessage".equals(parser.getName())) {version = parser.getAttributeValue(0);} else if ("SeqID".equals(parser.getName())) {seqID = parser.nextText();} else if ("ResultCode".equals(parser.getName())) {resultCode = parser.nextText();}}eventType = parser.next();}} catch (XmlPullParserException e) {e.printStackTrace();System.out.println(e);} catch (IOException e) {e.printStackTrace();System.out.println(e);}System.out.println("version = " + version);System.out.println("seqID = " + seqID);System.out.println("resultCode = " + resultCode);*/} catch (Exception e) {// TODO Auto-generated catch block
            System.out.println(e);}}

Android通过post请求发送一个xml,解析返回xml数据相关推荐

  1. android http通过post请求发送一个xml

    今天,简单讲讲android如何在网络请求时通过post方式发送xml数据. 其实也很简单,不过我之前对网络请求这一块不太熟悉,当需要做这个发送xml数据时,居然不知道怎么做.后来,在网上查找资料,最 ...

  2. Android Animation学习(三) ApiDemos解析:XML动画文件的使用

    Android Animation学习(三) ApiDemos解析:XML动画文件的使用 可以用XML文件来定义Animation. 文件必须有一个唯一的根节点: <set>, <o ...

  3. 什么是xml解析?xml解析的有几种常用的解析方式?

    xml解析概述 XML解析主要为两种:DOM和SAX解析 DOM:文档对象模型,这种方式是W3C推荐的处理XML的一种方式 SAX解析不是官方标准,属于开源社区XML-DEV,几乎所有的XML解析器都 ...

  4. 数据对接利用hutool工具类进行xml解析,xml转换成map,然后进行数据入库

    数据对接xml解析 <ESBEntry><!--通过MB对请求进行权限验证,验证后将删除AccessControl节点 --><AccessControl>< ...

  5. JavaWeb-----Ajax异步请求 json对象 服务器如何返回json数据 使用ajax完成一个案例

    1. 回顾 1. servlet的生命周期: 2. filter: 过滤放行和拦截一些资源.比如:黑白名单,登录校验,编码设置等.    (1)创建一个类并实现Filter接口以及重写接口的抽象方法 ...

  6. php dom xml解析,Php Xml解析之DOMDocument使用方法浅解

    Php Xml解析之DOMDocument使用方法浅解 用到的XML文件还以"Php Xml处理之simplexml使用方法浅谈"一文中的XML为例,文件名为:me.xml.代码如 ...

  7. java俄文xml解析错误,XML解析出错处理

    搜索热词 正常解析完毕之后会直接走parserDidEndDocument这个方法 解析出错之后会执行一个相应的方法,- (void)parser:(NSXMLParser*)parser parse ...

  8. java xml解析 jdom_Java XML解析 - 利用JDOM解析XML

    Java XML解析 - 利用JDOM解析XML JDOM是一个开源项目,它基于树形结构,利用纯Java的技术对XML文档实现解析.生成.序列化及多种操作.JDOM与DOM非常类似,它是处理XML的纯 ...

  9. wordpress中rss的XML解析错误:XML或文本声明不在实体的开头

    火狐中是 XML解析错误:xml处理指令不在实体的开始部分 位置:http://localhost/wordpress/?feed=rss2 行:2,列:1: <?xml version=&qu ...

  10. ajax异步请求,以及ajax异步返回的数据的处理方案

    为什么JS会有同步任务和异步任务: js是单线程,会按照顺序执行一个一个的任务,如果遇到某个任务像网络请求一类的需要延长执行回调函数,那么页面就会阻塞,所以引入了异步的概念. 同步任务:同步任务不需要 ...

最新文章

  1. Revit: Twinmotion工作流程学习
  2. 深度学习中GPU和显存分析
  3. 实验室蒋田仔研究员:脑网络组图谱近10年研究详解【附PPT】
  4. iOS 7 Searchbar右侧空白
  5. 专访小米欧阳辰:深度揭秘小米广告平台的构建、底层模块和坑
  6. Python-OpenCV 处理图像(八):图像二值化处理
  7. 论文笔记系列-Efficient Neural Architecture Search via Parameter Sharing
  8. vacantcell缓存分析
  9. pythonexpect后怎么循环_python 装饰器从放弃到玩转(初级)
  10. java digestutils_java-Apache DigestUtils似乎部分错误地计算了MD5
  11. 爱泼斯坦事件发酵,MIT师生发起抗议逼迫校长Rafael Reif辞职
  12. 整理下开发中常用的第三方库
  13. RXJAVA之Subject
  14. 微信小程序模板消息推送
  15. 张小龙《微信产品观》PPT,经典值得收藏
  16. 网络安全----身份认证
  17. B2B,B2C,C2C,C2B,B2G
  18. lzg_ad:XPE网络功能组件
  19. python输出欢迎某某某_python中怎么写注释
  20. Linux入门(14)——系统启动修复

热门文章

  1. eclipse 无法启动选择的项,最近未进行任何启动
  2. Numpy学习笔记(三)
  3. IE6 CSS高度height:100% 无效解决方法总结
  4. jsp中的session和上下文
  5. C/C++ Linux 程序员必须了解的 10 个工具
  6. R与Python手牵手:数据框的构建、读取与基本描述
  7. linux系统进去dev sdb6,linux书上划的题的答案
  8. mysql 逻辑备份工具_MySQL逻辑备份工具-mydumper
  9. 是时候拥有一个你自己的命令行工具了
  10. python第一天环境搭建及基本数据类型与条件语句学习