阻止 xsd.exe 生成多维数组

mat*_*ias 5 xml arrays schema serialization xsd

我的 XSD 架构具有以下结构: ElementA只有一个ElementB,并且具有零到无限的ElementC

ElementA -> ElementB -> ElementC[]
Run Code Online (Sandbox Code Playgroud)

当我使用此模式生成类时,xsd.exe它会生成多维数组:到处都ElementA使用它 put ElementC[][][]。对于每个深度一个维度。有办法停止xsd.exe这样做吗?

例如,XSD 定义了一个名为 的元素carList,它仅包含汽车标签(零到无限的“汽车”)。然后应该xsd.exe创建一个名为 的类carList,它仅包含一个一维数组或汽车列表。carList相反,无论何时使用a,它都会放置一个car[][]. 不喜欢那样。

还有一个问题,除了生成将被填充和序列化的类之外,是否有一种方法可以生成适合给定 XSD 的 XML?

Emi*_*dın 2

我也使用 xsd.exe,但我不知道更好的方法,至少对于 .NET 平台是这样。

从 XML 生成 XSD 架构文件后,您需要修改 XSD 文件中的维度范围,然后生成类。因为,XML 中的维度是不明确的。您目前可能只有一个节点,但将来也许可以添加更多节点。规则并不确定。因此,您需要在生成代码文件之前手动编辑 XSD。