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

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

对方用的是.NET WebService,已经把全部的对象格式定义好了,多是为了顾及各个平台的通用性,因此只在文档中提供了xml的格式的参数。工具

可是若是调用我方的接口,确定对方仍是经过他们定义的对象来访问,xml只不过是中间的传输数据格式而已。spa

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

第一步:xml

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

第二步:对象

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

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

.xml=>.xsd=>.cselement

第三步:

再继续执行: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

相关文章
相关标签/搜索