WebService如何根据对方提供的xml生成对象

最近写接口接到一个需求,就是他们推送数据过来,我们这边来提供服务接口。

对方用的是.NET WebService,已经把所有的对象格式定义好了,可能是为了顾及各个平台的通用性,所以只在文档中提供了xml的格式的参数。

但是如果调用我方的接口,肯定对方还是通过他们定义的对象来访问,xml只不过是中间的传输数据格式而已。

那么我们就要把他们提供的XML转换成对象(.cs文件)。

第一步:

在开始菜单中找到Visual Studio下方的Visual Studio Tools打开“VS2013 开发人员命令提示”,这里根据不同的VS版本名称也不同。

第二步:

在命令行中运行:xsd.exe xml文件地址 空格/outputdir:存放xsd的地址

为什么是生成xsd文件而不是直接生成.cs文件其实我也不大清楚,大致转换流程是:

.xml=>.xsd=>.cs

第三步:

再继续执行:xsd.exe xsd文件地址 空格/classes /outputdir:class类文件地址

经过以上步骤,xml对象的类文件就生成出来了。

如果写过WebService的小伙伴应该可以发现,这里生成的对象类的格式,跟WebService引用的服务对象代码格式是如出一辙的。

所以我想Visual Studio引用服务的时候应该也是用的xsd.exe工具。

另外即使不是WebService对象生成的xml应该也可以根据这个方法来生成对象类。

xsd.exe其他具体参数:
xsd file.xdr [/outputdir:directory][/parameters:file.xml]
xsd file.xml [/outputdir:directory] [/parameters:file.xml]
xsd file.xsd {/classes | /dataset} [/element:element]
             [/enableLinqDataSet] [/language:language]
                          [/namespace:namespace] [/outputdir:directory] [URI:uri]
                          [/parameters:file.xml]
xsd {file.dll | file.exe} [/outputdir:directory] [/type:typename [...]][/parameters:file.xml]

部分内容摘自:http://www.cnblogs.com/weiwin/p/xmltoclass.html

时间: 2024-09-29 20:31:27

WebService如何根据对方提供的xml生成对象的相关文章

webservice怎么给对方提供报文,即wsdl文件

1.webservice发布后在网页打开服务,点击服务说明 2.打开这样一个页面,ctrl+s保存网页,后缀改为wsdl,搞定 原文地址:https://www.cnblogs.com/haizine/p/9516601.html

Activiti基础教程--01(简介、代码生成Activiti的25张表、Activiti配置文件activiti.cfg.xml生成25张表、在Eclipse上安装Activiti插件)

一.简介 Activiti项目是一项新的基于Apache许可的开源BPM平台,从基础开始构建,旨在提供支持新的BPMN 2.0标准,包括支持对象管理组(OMG),面对新技术的机遇,诸如互操作性和云架构,提供技术实现. 创始人Tom Baeyens是JBoss jBPM的项目架构师,以及另一位架构师Joram Barrez,一起加入到创建Alfresco这项首次实现Apache开源许可的BPMN 2.0引擎开发中来. Activiti是一个独立运作和经营的开源项目品牌,并将独立于Alfresco开

读xml生成代码例子

读xml生成相应的  lua解析协议代码: #include <iostream> #include "tinyxml2.h" #include <fstream> #include <string> using namespace tinyxml2; using namespace std; std::ofstream file("readProto.lua",std::ios::ate|std::ios::binary); v

Javascript 解析字符串生成 XML DOM 对象。

Javascript 接收字符串生成 XML DOM 对象.实测对 Firefox .IE6 有效.可用于解析 ajax 的服务器响应结果,也可用于解析自定义字符串.?1. [代码]函数   ppt模版  /** * Parses DOM from XML text.<br /> *  * @author Typhoon.Free.Wolf * @version 2014-02-28_15-51 * @param blDebugFlag *      - Debug flag: true, f

应用SQLServer For XML 生成XML避免在C# 拼字符串

最近在Review代码时,有一个功能是 查询数据库中一列,然后生成像 <rootelements>      <col>a</col>      <col>b</col>       <col>c</col> </rootelements> 开发人员查用的方法是,返回一个结果集,然后用循环的方法拼成这个字符串.然后再解析成XML 其实从05以后SQLServer对XML的支持大大增强.我们可以使用下面这一行SQ

【转】XML生成与解析(DOM、ElementTree)

xml.dom篇 DOM是Document Object Model的简称,XML 文档的高级树型表示.该模型并非只针对 Python,而是一种普通XML 模型.Python 的 DOM 包是基于 SAX 构建的,并且包括在 Python 2.0 的标准 XML 支持里. 一.xml.dom的简单介绍 1.主要方法: minidom.parse(filename):加载读取XML文件 doc.documentElement:获取XML文档对象 node.getAttribute(Attribut

通过xml生成word文档

Xml生成word总结 使用xml生成word的基本步骤在<使用xslt转化xml数据形成word文档导出.doc>中说明比较清楚了.但是其中的细节并未说到,因此自己折腾了两天总算成功了.以下是我在使用过程中碰到的问题要点: 必须使用word 2003. 1.下面通过例子演示: 简单 的xml以及对应的xml框架 2.分别创建03版本的word文档log_03.doc和o7版本的word文档log_07.docx,并都应用以上生成的log.xsd框架 分别另存为log_03_doc.xml,l

Xml生成word 技巧一

Xml生成word文档的几个基本步骤,就是先定义xml,再生成xml框架.经过一天的折腾,发现其实可以不用生成xsd文件,只要把xml文件另存为word就可以了.还是通过昨天的例子说明. 1.  xml另存为word文档log.doc 2.打开log.doc就可以看到绑定了框架的文档 ,打开右边任务窗口可以看到 3.可以把文档内容删掉,重新设计文档模版,并另存为log_doc.xml 4.接下来的步骤就跟之前的一样了,生成xslt文件

2.Webservice返回json数据并去掉Xml头部。

问题: 我将结果内容用字符串拼接成Json数据并返回的时候,会在结果前面添加xml头部,结果如下. <span style="font-size:14px;"><string xmlns="http://tempuri.org/"> {"data":[{"batchId":"B001","produceOrderId":"", "pr