soap使用xml调用webapi后返回xml信息进行JSON转换处理,以顺丰查询接口为例
expressUrl = string.Format(可以卸载配置文件的域名URL + "/bsp-oisp/ws/expressService");
StringBuilder sbParams = new StringBuilder();
sbParams.AppendLine("<Request service='RouteService' lang='zh-CN'>");
sbParams.AppendLine("<Head>");
sbParams.AppendLine(这里是顺丰提供的客户秘钥);
sbParams.AppendLine("</Head>");
sbParams.AppendLine("<Body>");
sbParams.AppendLine("<RouteRequest tracking_type='1' method_type='1' tracking_number='" + 运单号 + "'/>");
sbParams.AppendLine("</Body>");
sbParams.AppendLine("</Request>"); SFexpressService.ServiceClient sfService = new SFexpressService.ServiceClient();
//调用顺丰的webapi接口
expressResult = sfService.sfexpressService(sbParams.ToString()); XmlDocument doc = new XmlDocument();
doc.LoadXml(expressResult);
//这里把xml转换成JSON,但是直接SerializeXmlNode调用这个方法就会导致很多属性中存在@符号,网上找到的方案是正则替换
expressResult = Regex.Replace(JsonConvert.SerializeXmlNode(doc, Newtonsoft.Json.Formatting.None), "(?<=\")(@)(?!.*\":\\s )", string.Empty, RegexOptions.IgnoreCase);
//这里是正则替换的结果怕属性值?xml有问题,再替换成一个自己定义的值
expressResult = expressResult.Replace("?xml","expressXml");
soap使用xml调用webapi后返回xml信息进行JSON转换处理,以顺丰查询接口为例的更多相关文章
- 单点登录(十七)----cas4.2.x登录mongodb验证方式成功后返回更多信息更多属性到客户端
		
我们在之前已经完成了cas4.2.x登录使用mongodb验证方式登录成功了.也解决了登录名中使用中文乱码的问题. 单点登录(十三)-----实战-----cas4.2.X登录启用mongodb验证方 ...
 - atitit.XML类库选型及object 对象bean 跟json转换方案
		
atitit.XML类库选型及object 对象bean 跟json转换方案 1. XML类库可以分成2大类.标准的.这些类库通常接口和实现都是分开的 1 2. 常见的xml方面的方法 2 2.1. ...
 - CAS3.5.2 Server登录后返回用户信息详细解决方案
		
单点登录(Single Sign-On, 简称SSO)是目前比较流行的服务于企业业务整合的解决方案之一,SSO使得在多个应用系统中,用户只需要登录一次就可以访问所有相互信任的应用系统.大家在使用时CA ...
 - TFS Release 步骤调用命令行返回失败信息的处理方法
		
TFS Release中自定义步骤时,可以选择“命令行”,官方的文档中,并没有描述调用相关的程序后,如何返回失败信息.通过下面步骤,可以实现本标题描述的功能. 步骤一:编写Console Applic ...
 - ajax调用action后返回list给list.jsp,显示为xml文档
		
struts2中使用的是map来保存数据的,所以这里绑定的值是key和value1 <?xml version="1.0" encoding="UTF-8" ...
 - Pycharm调试:进入调用函数后返回
		
在菜单栏的view中勾选toolbar,然后点击工具栏中左箭头返回到调用函数处.
 - 三、改变struts.xml默认路径后web.xml如何配置
		
http://yanln.iteye.com/blog/2189816(文章很好)
 - MVC WebApi 将返回值改为JSON格式
		
新增一个类: public class BrowserJsonFormatter : JsonMediaTypeFormatter { public BrowserJsonFormatter() { ...
 - ajaxFileUpload上传带参数,返回值改成json格式
		
/*直接复制在自己的js文件中就能使用*/ jQuery.extend({ createUploadIframe: function (id, uri) { //create frame var fr ...
 
随机推荐
- 对称加密中的ECB模式&CBC模式
			
ECB模式: CBC模式: 所有的迭代模式:
 - 几种经过整理的文件上传压缩和前台js压缩的方法
			
/** * 图片压缩上传 * @param $im,图片资源 * @param int $maxwidth,最大宽度,超过这个宽度则进行压缩 * @param int $maxheight,最大高度, ...
 - web常见测试点总结
			
上周五小组内对Web的常见测试点进行了交流学习,虽然这些信息网上一搜都一大把,但整理的过程中自己脑袋瓜里又重新回顾了一遍,大家都很认真的在学习,互相补充着,现总结如下,欢迎同行留言 一.新增.修改 用 ...
 - redis初步学习 0
			
2.1 Redis是什么 REmote DIctionary Server(Redis) 是一个由Salvatore Sanfilippo写的key-value存储系统.Redis提供了一些丰富的数据 ...
 - 使用Myeclipse导入IDEA项目
			
问题描述:使用Myeclipse导入IDEA创建的Web项目,成功导入,但是显示的是一个普通的JAVA项目,无法加载到tomcat下. 解决方案:右键项目Properties,选择Myeclipse- ...
 - node+mongoDB+express项目需求解释
			
1. morgon模块 --- morgon 用于打印日志,分别为向后台打印和向文件中打印两种情况.stackoverflow. 2. app.use(bodyParser.json()) 3. de ...
 - ANDROID_HOME is not set and "android" command not in your PATH解决
			
使用nodejs安装cordova后在项目里面添加平台时出现错误: 原因就是没有配环境变量 使用phonegap开发不仅要配JDK环境变量,还要配ADT环境变量,出现这个错误很显示就是没配ADT环境变 ...
 - 如何修改eclipse的web项目默认浏览器
 - FastDFS 搭建
			
#FastDFS安装方式 安装必要插件:libevent (此次搭建方案采用libevent 1.4.13) wget http://fastdfs.googlecode.com/files/F ...
 - (生产)axios - 请求接口
			
参考:https://www.awesomes.cn/repo/mzabriskie/axios axios 介绍 基于 Promise 的 HTTP 请求客户端,可同时在浏览器和 node.js 中 ...