XSD.exe不强制执行minOccurs

G33*_*una 7 c# xml-serialization xsd.exe

我有一个简单的架构,我将minOccurs和maxOccurs都声明为1.当我运行XSD.exe生成一个C#类并在代码中使用该类时; 该字段未强制执行.是否缺少一些额外的步骤?或者使用XSD.exe生成的类不是必填字段吗?

任何建议或见解都会有所帮助.

ame*_*vin 8

就像Visual Studio中的Xml /推断模式工具一样,每当我使用XSD.exe时,我最终修复了一些生成的代码.XSD.exe做了很好的近似,但它并不完全有效.

的minOccurs/maxOccurs的"错误"被记录在MSDN上.

从XML Schema文档生成源代码时,Xsd.exe忽略应用于<choice>,<sequence>,<group>,<all>和<any>元素的minOccurs属性.

对于该元素,如果maxOccurs属性的值大于1或无界限,则Xsd.exe将忽略minOccurs属性.在这种情况下,该工具会生成与XSD数据类型对应的类型的数组.Xsd.exe使用maxOccurs属性的值来确定是生成单个实例还是生成数组.

对于元素,如果将xsd.exe应用于转换为.NET Framework引用类型的架构数据类型,则Xsd.exe也会忽略minOccurs属性.

仅当满足以下所有条件时,Xsd.exe才会使用minOccurs属性的值:

该元素涉及.

maxOccurs属性指示单个实例.

数据类型转换为值类型.


Joh*_*ers 0

您是正确的,XSD.EXE 不强制执行出现要求。这是设计好的。