我有一个现有的数据模型,希望用XML来表达这个数据模型。
如果要使用JAXB,似乎有两个选项:
- 创建一个与我的数据模型相似的XSD文件,并使用xjc创建绑定对象。编组和解组将涉及创建一个“映射”类,该类将获取我的现有数据对象并将其映射到xjc创建的对象。例如,在我的数据模型中有一个Doc类,而JAXB将创建另一个具有基本相同字段的Doc类,我需要从我的Doc类映射到xjc的Doc类。
- 使用JAXB注释注释我的现有数据模型,并使用schemagen从我的注释类生成XSD文件。
我可以看到两种方法的优缺点。似乎大多数使用JAXB的人都从XSD文件开始。XSD应该是真正跨平台表达数据模型的黄金标准,这是有道理的。
我倾向于先从XSD开始,但是我必须编写和维护一个单独的映射类,以在我的世界和JAXB世界之间传输数据,这似乎不太好。
有什么建议吗?