xml - 停止 xsd.exe 生成多维数组

标签 xml arrays serialization xsd schema

我有具有以下结构的 XSD 架构: ElementA 只有一个 ElementBElementC 有零个到无限个

ElementA -> ElementB -> ElementC[]

当我使用此模式和 xsd.exe 生成类时,它会生成多维数组:在使用 ElementA 的任何地方,它都会将 ElementC[][][]。对于每个深度一维。有没有办法阻止 xsd.exe 这样做?

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

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

最佳答案

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

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

关于xml - 停止 xsd.exe 生成多维数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8137862/

相关文章:

php - 根据对象的属性对数组进行排序

C# Xml 序列化 : can't (de)serialize an object that comes from another assembly

通过装饰器进行对象-XML 映射的 Python 框架?

xml - 使用 adobe air 保存 XML 文件会在开头创建虚假符号

c++ - 创建存储数组属性的对象数组

python elementtree空白输出

javascript - 使用此 .length & .split() 的任何替代方法?

java - 反序列化抛出 java.lang.ClassCastException

html -\n 和\t 的实体引用

xml - 使用 PL/SQL 创建 xls 文件而不通过 xml