我有一個現有的數據模型。我想用XML來表達這個數據模型。JAXB - 將XSD或XSD豆類化爲豆?
它看起來像我有兩個選擇,如果我使用JAXB:
- 建立鏡像我的數據模型的XSD,並使用XJC創建綁定對象。編組和解組將涉及創建一個「映射」類,該類將採用我現有的數據對象並將它們映射到xjc創建的對象。例如,在我的數據模型中,我有一個Doc類,JAXB將創建另一個具有基本相同字段的Doc類,並且必須將我的Doc類映射到xjc的Doc類。
- 使用JAXB註釋標註我現有的數據模型,並使用schemagen從註釋類生成XSD。
我可以看到兩種方法的優點和缺點。似乎大多數使用JAXB的人都是從XSD文件開始的。 XSD應該是黃金標準的真理是有道理的,因爲它以真正的跨平臺方式表達了數據模型。
我傾向於先從XSD開始,但似乎很奇怪,我必須編寫和維護一個單獨的映射類,以便在我的世界和JAXB世界之間穿梭數據。
有什麼建議嗎?
JAXB 2在設計時考慮到了這種情況。如果你想表達沒有註釋的映射,你可以使用EclipseLink MOXy等JAXB實現。 – 2010-07-09 14:03:45