2016-02-28 110 views
1

我有一堆XML文檔(源代碼),我需要將其轉換爲具有不同結構(目標)的POJO。我的第一個明顯的想法是使用JAXB和XSLT的組合。但是,有些問題我不確定這是否合適。將XML文檔轉換爲POJO

  1. 我沒有訪問源的XSD。
  2. 我不需要將目標作爲XML結構,而是像POJO一樣。

然後我想創建一個像映射表一樣的東西,

XPath to source XML element --> Target element 

但是,這會導致大量的「映射」代碼,特別是涉及複雜的數據類型時。

你有什麼建議我怎麼能實現這個?

回答

0

我建議JSON。

您不必事先知道XML的結構。只需將XML抽取到DOM對象或SAX流中,遍歷它並吐出相應的JSON對象。 XSLT也可以很好地工作。

以下是關於如何將JSON文件加載到java對象中的examples/discussios鏈接。

load json from file into object

我懷疑編程這是關於同樣的努力來處理XML文檔,因爲它是一個JSON文件。

0

如果您有一個具有代表性的XML文檔,其中顯示了構成XML文檔域的所有可能的子元素(例如,如果XML文檔中有任何CHOICE元素,則具有代表性的XML元素可能的CHOICE路徑),那麼您可以簡單地使用XML Spy這樣的工具從代表性XML文件反向工程/推斷模式,然後使用推斷的模式來驅動JAX-B。