阻止 xsd.exe 生成多维数组
我的 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 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
我也使用 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.