是否可以基于 XSD 方案反序列化 xml 而不是粘贴特殊结果?

Is it possible to de-serialize xml based on XSD scheme instead of paste special the results?

我的目标是实现一个api到外部网络服务资源,响应格式是xml,方案也是已知的。

例如,这是外部资源api:

https://MyProduct.MyDomain.com/webservice/rest/1.0/MyMethod/

以及外部资源api的xml方案:

https://MyProduct.MyDomain.com/xsd/1.0/MyMethodDataTypes.xsd

xsd 非常长且复杂,所以我想避免将其手动复制到 class 响应中

因此,为了反序列化响应,这就是我所做的:

  1. 我已使用 Postman 请求演示。
  2. 复制了 xml 回复。
  3. 使用 visual studio 特殊粘贴,我将 xml 响应粘贴为 class。

问题是现在 class 响应仅建立在一个特定请求上,并不包含所有响应属性。

所以我的问题是:

是否可以根据供应商的 xsd 方案创建响应 class?

是的,在命令提示符下是可能的。

xsd.exe your.xsd /类

通常可以在以下位置找到 xsd.exe:

"c:\Program Files (x86)\Microsoft SDKs\Windows\v10.0A\bin\NETFX 4.6.1 Tools\xsd.exe"

可以在此处找到许多其他信息:How to generate .NET 4.0 classes from xsd