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

相關文章
相關標籤/搜索