0

目前我有一堆 XML 文件。不幸的是,没有 XSD 或任何其他模式文件。在我的程序 (Java) 中,我使用 JiBX 从/到 POJO (取消)编组 XML 文件。因此,我的问题是:有没有办法(通过使用 JiBX)基于来自示例 XML 文件的结构创建 XSD?我需要自动执行此操作,因为这些 XML 文件的结构非常复杂。顺便说一句:我需要 XSD 来自动创建 POJO。这一要求也与复杂性有关。

为什么不使用与 JiBX 不同的任何其他解决方案?一般来说,我会接受不同的解决方案,但使用 JiBX 会很棒。那是因为下一步将基于一些自动化(例如 Ant 作业)来完成它。

尽管如此,只是为了玩,我已经尝试过氧气。它基于一个示例 XML 文件创建一些 XSD 架构,而不会遇到错误。这个过程的结果(在某种程度上)不像预期的那样。例如,当元素标签中有一个字符串时,Oxygen 会创建进一步的 XSD 子元素规则。结果,在解组 XML 文件时,这些字符串消失了。

也许我走错了解决方案的道路?请给我帮助/想法帮助解决问题。

非常感谢你。

4

1 回答 1

1

您不能使用 JIBX 从示例 XML 文件生成 XSD 文档。您可以使用Jibx2Wsdl工具从代码(如果您有 POJO)生成 XSD,也可以使用CodeGen工具从 XSD 生成代码。

要从 XML 生成 XSD,您必须使用其他工具,如这里推荐的。来自Apache XMLBeans项目的inst2xsd工具似乎运行良好。

顺便说一句 - 不要期望这些工具可以很好地处理复杂的结构。我想结构越简单 - 工具就越好。它变得越复杂,您个人参与的就越多。

于 2011-09-06T19:42:10.373 回答