最近寫接口接到一個需求,就是他們推送數據過來,咱們這邊來提供服務接口。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