我有一个现有的数据模型。我想用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