2012-02-22 89 views
1

我有一個人類(用@XmlRootElement註解)與Java兩個屬性(名稱,生日),我需要以兩種不同的方式編組,生成兩個不同的XML文件。使用標準JAXB以兩種不同的方式編組同一個對象?

在第一個文件,Person對象應該只包含name屬性:

<Person> 
    <name>John Doe</name> 
</Person> 

在第二個文件中,Person對象應包含所有屬性。

<Person> 
    <name>John Doe</name> 
    <birthday>1980-01-01</birthday> 
</Person> 

有沒有辦法用JAXB實現這一點?

問候, 約亨

回答

1

注:我是EclipseLink JAXB (MOXy)鉛和JAXB 2 (JSR-222)專家小組的成員。

您可以使用JAXB註釋來提供一種表示,並利用MOXy的外部綁定文檔來提供替代表示。

使用案例1 - 代表處

默認情況下莫西的外部映射文件之間的微小差異是用來覆蓋由註釋提供的元數據。這可以讓你調整版本之間的表示。下面是一個答案我給了一個詳細的例子鏈接:

使用案例2 - 之間的交涉

莫西的外部映射文檔也可以被用於主要區別覆蓋所有註釋。當表示不相關時,這很有用。下面是在我映射相同的對象模型無論是谷歌和雅虎氣象服務的例子的鏈接:

更多信息

+0

這不是純粹的JAXB,但它工作:) – Jochen 2015-09-24 16:07:22

相關問題