为了账号安全,请及时绑定邮箱和手机立即绑定

如何从xsd生成.NET 4.0类?

如何从xsd生成.NET 4.0类?

慕斯王 2019-11-05 11:20:35
使用Visual Studio 2010从xsd文件生成.NET 4.0 c#类(实体)的选项有哪些?
查看完整描述

3 回答

?
一只斗牛犬

TA贡献1784条经验 获得超2个赞

很简单 只需运行(在vs命令提示符下)


xsd your.xsd /classes

(将创建your.cs)。但是请注意,自2.0以来,此处的大多数内在选项都没有太大变化


有关选项,请使用xsd /?或参阅MSDN。例如/enableDataBinding可能是有用的。


查看完整回答
反对 回复 2019-11-05
?
肥皂起泡泡

TA贡献1829条经验 获得超6个赞

当您有循环引用时(即,一个类型可以直接或间接拥有其自己类型的元素),xsd.exe不能很好地工作。

当存在循环引用时,我使用Xsd2Code。Xsd2Code可以很好地处理循环引用,并且可以在VS IDE中工作,这是一个很大的优点。它还具有许多可使用的功能,例如生成序列化/反序列化代码。但是,如果要生成序列化,请确保打开GenerateXMLAttributes(否则,如果未在所有元素上都定义,则会获得排序异常)。

两者都不适合使用选择功能。您最终将得到对象的列表/集合,而不是所需的类型。如果可能,我建议避免在xsd中进行选择,因为这样做不会很好地序列化/反序列化为强类型类。但是,如果您对此不关心,那么这不是问题。

xsd2code中的any功能反序列化为System.Xml.XmlElement,我觉得这很方便,但是如果您要使用强类型对象,则可能会遇到问题。在允许自定义配置数据时,我经常使用any,因此XmlElement可以方便地传递到在其他地方自定义定义的另一个XML反序列化器。


查看完整回答
反对 回复 2019-11-05
  • 3 回答
  • 0 关注
  • 557 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信