【发布时间】:2011-01-29 19:39:22
【问题描述】:
我有一个现有的数据模型。我想用 XML 来表达这个数据模型。
如果我要使用 JAXB,我似乎有两个选择:
- 创建一个镜像我的数据模型的 XSD,并使用 xjc 创建绑定对象。编组和解组将涉及创建一个“映射”类,该类将获取我现有的数据对象并将它们映射到 xjc 创建的对象。例如,在我的数据模型中,我有一个 Doc 类,而 JAXB 将创建另一个具有基本相同确切字段的 Doc 类,我必须从我的 Doc 类映射到 xjc 的 Doc 类。
- 使用 JAXB 注释对我现有的数据模型进行注释,并使用 schemagen 从我的注释类生成 XSD。
我可以看到这两种方法的优点和缺点。似乎大多数使用 JAXB 的人都是从 XSD 文件开始的。 XSD 应该成为黄金标准是有道理的,因为它以真正跨平台的方式表达数据模型。
我倾向于先从 XSD 开始,但我必须编写和维护一个单独的映射类来在我的世界和 JAXB 世界之间穿梭数据,这似乎很糟糕。
有什么建议吗?
【问题讨论】: