kry*_*our 12
我最近遇到了同样的问题,
我从第三方公司获得了一个Schema,它从Web服务返回一个xml结构.然后我想反序列化响应并将信息存储到NHibernate的数据库中.
没问题我以为我只会使用xsd.exe而且我会上课.不幸的是,这不是.Xsd.exe失败,出现了完全相同的错误.这是因为它无法解析循环引用.
我花了几天时间查看替代方案,直到最后我将自己的类结构写入模式,并能够完美地进行反序列化.这里的答案是编写自己的C#类并使用适当的属性装饰它们.
节省一些时间和心痛,不要继续尝试最终自动生成所需的类,尽管耗费你所编写的课程耗费时间不会让大多数工具(不能完美运行)的妥协会让你失望使.
我花了大约3天的时间来编写课程结构(它很大)但我最终得到了一个高质量的解决方案.
有一件事是肯定你将无法使用xsd.exe和谷歌搜索后尝试的大多数其他工具要么无法正常工作,要么是有缺陷的.
NKC*_*CSS 10
尝试使用svcutil; 它可以处理循环引用.
在以下示例中,eExact-Schema.xsd是一个xsd.exe无法处理的XSD .
例:
C:\SRC\Exact>svcutil eExact-Schema.xsd /language:C# /dataContractOnly /importxmltypes /out:exact.cs
Run Code Online (Sandbox Code Playgroud)
这始终是一个好的开始; 您现在可以使用此类并根据您的风格/需求进行更改,添加注释等,这将为您节省大量时间/搜索从头开始.
| 归档时间: |
|
| 查看次数: |
7219 次 |
| 最近记录: |