XSD 工具在字段中省略长度

XSD tool omit length on the field

我正在使用 XSD 工具从 XSD 模式生成 C# 类。为什么 XSD.exe 忽略长度和其他数据类型限制?我可以通过属性手动强制执行限制(例如长度)吗?

简短的回答是否定的,因为 CLR 类型系统不像 XSD 类型系统那样容易支持这些功能。据我所知,也不可能通过属性限制集合的大小。

集合大小限制的问题在于何时应用它们。如果您创建一个新集合,该集合至少应包含两个元素,那么这些元素应该是什么?这里的答案是 XSD 有不同的目的,即验证,而生成的代码主要用于表示。

因此,如果您想验证您的数据,请使用 XSD 和一些 XML Schmea 处理器进行验证,然后使用 XSD 生成的 类 来表示内存中的数据,便于使用 C# 进行处理。