2010-03-22 67 views
2

我需要一個可以將python對象編組爲XML(讓它爲文件)的pythonic庫的建議。 我需要能夠稍後使用Java(JAXB)讀取該XML並解組它。 我知道JAXB有一些問題,使得它不能很好地與.NET XML庫配合使用,因此對於實際上可行的東西的推薦將會很棒。Python XML + Java XML互操作性

+6

XML是XML。如果一個庫不能正確地解析有效的XML,那麼這個庫就是錯誤的,而不是任何「互操作性」。 – 2010-03-22 13:27:31

+0

我不在乎誰在這種情況下有罪。底線是框架不兼容。而我只是想在2個框架上推薦一個可以一起玩的好主意。例如看到這個 http://old.nabble.com/JAX-WS-%22namespace-of-schema-and-import-match%22-td21878972.html – ApriOri 2010-03-23 09:37:03

回答

1

正如Ignacio所說,XML是XML。在python方面,我建議使用lxml,除非您有更好的滿足另一個圖書館的更多具體需求。如果你被限制在標準庫中,看看ElementTreecElementTree,這也很好,並且啓發了(並且在功能上大部分等同於)lxml.etree

編輯:仔細一看,你似乎不只是在尋找XML,而是爲了對象的XML表示。爲此,請查看lxml.objectify或Amara。我沒有嘗試過使用它們與Java的互操作性,但它們值得一試。如果您只是在尋找一種數據交換的方式,您也可以嘗試自定義的JSON對象。

0

您可能遇到的問題是您用於封送對象的Python和Java庫的默認格式。任何像樣的圖書館,包括JAXB allows customisation對象如何用XML表示。

您需要決定XML的結構,然後使用您的庫功能消耗併發送XML結構而不是依賴於不同編程語言中不同庫的默認值。