是否可以基于 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 响应中
因此,为了反序列化响应,这就是我所做的:
- 我已使用 Postman 请求演示。
- 复制了 xml 回复。
- 使用 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
我的目标是实现一个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 响应中
因此,为了反序列化响应,这就是我所做的:
- 我已使用 Postman 请求演示。
- 复制了 xml 回复。
- 使用 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