2008-11-04 50 views
4

我必須編寫一個定期訪問URL的過程(Java語言),讀取返回的XML文檔並將該數據保存到數據庫中。這些數據被我的應用程序進一步使用,所以我將它們建模爲Hibernate映射的POJO。聲明式XML - > POJO轉換

我可以解析XML,然後創建適當的POJO,但我一直在尋找更簡單的聲明式方法。哪些庫可用於輸入配置並從XML文檔創建POJO?

回答

1

您可以使用XStream來反序列化XML並將其直接映射到Hibernate映射的POJO。

乾杯。

+0

Upvoted,XStream的一直感到輕鬆一點比JAXB工作。 http://xstream.codehaus.org/ – Freiheit 2010-07-07 16:44:05

4

另一種選擇是JiBX

此外,雖然你說你不想來解析XML,XPath可以提取你感興趣的內容非常簡潔的方式?

+0

JiBX看起來是最通用的 - 從代碼開始,從模式開始,手工編寫綁定文件。 – 2009-11-24 13:16:44

2

JAXB可以自動創建基於XML模式的類(假設您有一個用於XML源)。在運行時,它可以將XML文檔轉換爲表示XML的POJO。這是說明性的,你可以稍微調整Schema-to-class映射。

如果我正確理解你的任務,這幾乎是JAXB設計的用例(儘管它也可以做其他事情)。它是Java 1.6的一部分(也許是1.5?),在包中:javax.xml.bind。*

0

EclipseLink JAXB(MOXy)具有用於將JPA實體映射到XML的擴展(JPA實體具有嵌入式ID類,懶惰加載和需要特殊處理的複合密鑰關係),我不知道有任何其他的OXM解決方案會這樣做。

欲瞭解更多信息,請參閱: