我需要從Java對象中生成一些XML文檔。這些對象是深度ORM映射對象,XML文檔用於搜索索引(la Lucene)。我希望能夠創建一個配置文件併爲其提供一個Java對象,並讓它吐出配置中指定的XML。理想情況下,配置將包括java端(可能是深層)的屬性到XPath的映射或非常類似於XML端的映射。什麼是從Java生成任意XML的好庫?
JAXB不合適,因爲它想要創建從對象數據到XML節點的一對一映射。我已經看過JIBX和XStream,但是他們都沒有被設計來做我正在談論的事情。
基本上我想要的是Dozer,但是它的目的是創建一個XML文檔作爲它的目標而不是另一個Java bean。從我迄今爲止的研究看來,我將不得不自己寫這篇文章。任何人都可以提供更好的選擇?
編輯: 該解決方案不能預測修改源Java文件的能力。基於註釋的系統對我的目的來說是完全無用的。應該可以像在推土機上一樣爲各個映射定義'譯員'。
需要注意的是,我需要能夠指定java中給定的輸入字段可能會在XML輸出中的多個不同位置輸出,可能在某些情況下會被轉換,而在其他情況下可能會被轉換。
我已經考慮過做某種直接的Java到XML轉換的對象,然後使用XSLT執行我的任務,但問題在於這些是具有雙向連接的深層對象。將對象映射到XML將很難確定對象層次結構的深度,即使它可以跟蹤哪些對象應該打折,因爲它們已經被看到了。
JiBX應該對此好,你爲什麼不喜歡它? – skaffman 2010-01-11 23:35:06