zoukankan      html  css  js  c++  java
  • 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

  • 相关阅读:
    树莓派入门之装系统
    git服务器的建立——Git折腾小记
    sk_buff的数据预留和对齐
    Linux 内核网络协议栈 ------sk_buff 结构体 以及 完全解释 (2.6.16)
    Linux网络之设备接口层:发送数据包流程dev_queue_xmit
    打印mac地址
    查看Linux进程CPU过高具体的线程堆栈(不中断程序)
    linux 终端报错 Out of memory: Kill process[PID] [process name] score问题分析
    记linux下rm误删bin文件的解决方式
    服务器有新消息主动推送给客户端浏览器
  • 原文地址:https://www.cnblogs.com/h-change/p/5190694.html
Copyright © 2011-2022 走看看