阻止 xsd.exe 生成多维数组

发布于 2024-12-15 15:39:08 字数 579 浏览 0 评论 0原文

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

ElementA -> ElementB -> ElementC[]

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

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

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

I have XSD Schema with the following structure:
ElementA has only one ElementB and that has zero to infinite of ElementC

ElementA -> ElementB -> ElementC[]

When I generate classes with this schema and xsd.exe it generates multidimensional arrays: Everywhere ElementA is used it puts ElementC[][][]. For each depth one dimension. Is there way to stop xsd.exe doing this?

For example the XSD defines an element called carList that contains only the car-tags (zero to infinite "car"). The xsd.exe should then create a class called carList that contains only an one-dimensional array or an list of car. Instead wherever a carList would be used it puts an car[][]. Don't like that.

One more question, is there a way to generate a XML that fits an given XSD besides generating classes that will be filled and serialized?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

帅气尐潴 2024-12-22 15:39:08

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

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

I use xsd.exe as well and I don't know a better way, at least for .NET platform.

After generating XSD schema file from XML, you need to modify the dimension ranges in XSD file then generate the Class. Because, dimensions in XML are unclear. You may have a single node at the moment but maybe you can add more in the future. Rules are not certain. Because of that reason, you need to edit XSD manually before generating the code files.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文