2011-09-06 78 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