2011-09-06 76 views
0

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

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

不过,只是为了玩耍,我已经尝试过氧气。它基于一个示例XML文件创建一些XSD模式,而不会出现错误。这个过程的结果(如何)并不如预期的那样。例如,当元素标签内有一个String时,Oxygen会创建更多的XSD子元素规则。因此,解编XML文件时,这些字符串消失。

也许我在一个解决方案的错误路径?请给我帮助解决问题的帮助/想法。

非常感谢你。

回答

1

无法使用JIBX从示例XML文件生成XSD文档。您可以使用Jibx2Wsdl工具从代码生成XSD(如果您拥有POJO),或者可以使用CodeGen工具从XSD生成代码。

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

顺便说一句 - 不要指望这些工具在复杂结构上工作得很好。我想结构越简单 - 工具可以工作得越好。越复杂,你越会亲自参与。

+0

感谢您的回复。我担心用JiBX做这件事是不可能的。 – Marco