我想从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