【问题标题】:Stop xsd.exe from generating multidimensional arrays停止 xsd.exe 生成多维数组
【发布时间】:2011-12-29 14:05:04
【问题描述】:

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

ElementA -> ElementB -> ElementC[]

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

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

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

【问题讨论】:

标签: xml arrays serialization xsd schema


【解决方案1】:

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

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

【讨论】:

    猜你喜欢
    • 2011-03-15
    • 1970-01-01
    • 2015-03-31
    • 2016-07-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-07-12
    相关资源
    最近更新 更多