我想從Web服務下載xsd規範並自動將這些模式轉換(序列化)爲類(visual studio - vb.net)。如果負責xsd模式的組織改變他們的方式,只有我的類對應於xsd必須更改(而不是我的代碼的其餘部分),我想自動更新我的xsd相應的類。這可能嗎?如果是這樣,有人可以告訴我該怎麼做嗎?自動序列化
謝謝!
我使用vs2010。我想要做的是:調用一個Web服務,在該服務中可以將輸入參數發送到指定要檢索的xsd的服務(該服務是GetShemaDefenition並返回一個具有該對象的字符串屬性中的模式規範的對象)。我需要從字符串屬性中讀取xsd字符串,並將其轉換爲此xsd規範的類表示形式。是否有可能自動執行此操作?我通過使用xsd.exe手動完成了此操作。如果xsd的所有者組織改變了xsd規範,我必須測試是否有新的規範,並且如果存在,我必須構建此xsd的新類表示形式?有可能做我想做的事嗎?我怎麼知道它是否是xsd的一個重大變化,它也會影響我的代碼的其他部分,而不僅僅是xsd的類表示?
坦克很多爲您的答覆!所以如果我理解你是正確的,那麼你說的是沒有一個好的自動化這個功能的解決方案,因爲如果我最有可能(在某些情況下)更改xsd必須手動更改我的代碼?所以我必須在我的應用程序或中間服務中選擇?但是在Web服務中提供xsd的目的是什麼?我可以使用什麼Web服務?我只是想知道,也許很明顯,但我對web服務很陌生,並且渴望瞭解更多信息。
更新:
謝謝!但是你能解釋一點嗎?我必須做的是:我使用一個Web服務,其中一個屬性是一個字符串。該字符串是CDATA塊內的XML。提供Web服務的組織不會削減CDATA塊內的xml,而是將其轉發給將使用xml數據的另一個組織。使用xml數據的組織指定了我必須遵循的xsd schem來生成我的xml正確。這是我可以從另一個Web服務獲得的xsd模式。我真的不明白我能從web服務中使用這個xsd文件做什麼。我能做些什麼,以及我爲什麼要從Web服務下載它,當我無法自動使用它?因爲我必須在xsd更改時手動執行更改,所以我可以輕鬆地從組織的主頁下載xsd模式,並使用xsd.exe創建新類。我知道有一些我不明白的地方:o),你能否澄清?
架構在那裏,以便您知道服務器的接口。這就像提供商和消費者之間的合同。這個契約(接口和描述它的xsd)應該是穩定的,並且該服務的提供者不應該經常改變它。專業服務提供者將採取必要的努力保持接口向後兼容以防更改。這說什麼都不能阻止他們改變它。 – Mehran