如何使用XSD.exe从C#类型生成XMLSchema,以便属性映射到所需的XML属性?简单地说,当我使用XSD.exe(VisualStudio2012附带)从此类生成XML模式文件时:[Serializable]publicclassPerson{[XmlAttribute]publicstringName{get;放;}[XmlAttribute]publicintAge{get;放;我得到这样的结果:请注意,在生成的模式中,Age属性是按要求指定的(它具有use="required"),而属性Name不是。我像这样使用XSD.exe:xsd.exeSample.exe/type:Person其中Sample.exe是一个.NET程序集,其中定义了Person类。我想以某种方式在我的类中指定哪些XmlAttribute属性是必需的,哪些不是,以便XSD.exe可以自动生成架构。是否可以?除非XSD中存在错误(不清楚您是否尝试过XSD.exe文档中描述的内容,特别是属性元素绑定支持-我现在无法测试),答案是肯定的,您可以。在您的情况下,Name和Age之间的不同行为仅仅是因为String字段可以为空,而int字段是不可能的(不知何故我不相信int?会对您的情况产生影响,您仍然可以尝试。..)属性不可为空(从XSD的角度来看),因此使用Optional。使用属性:从类生成XML架构文档Xsd.exe不指定使用属性,在以下两种情况下恢复为可选的默认值:?有额外的公共bool字段遵循指定的命名约定。?通过System.Component.DefaultValueAttribute类型的属性为成员分配默认值。如果这些条件都不满足,Xsd.exe会为use属性生成所需的值。以上是C#学习教程:HowtouseXSD.exetogenerateanXMLSchemafromaC#typethroughtheattributesmaptotherequiredXMLattributes?如果所有分享的内容对你有用,需要进一步了解C#学习教程,希望大家多多关注。本文收集自网络,不代表立场。如涉及侵权,请点击右侧联系管理员删除。如需转载请注明出处:
