我是JAXB的新手,希望有一点帮助。如何从同一对象模型编组/解组不同的xml
首先让我给你一点背景。
我有一个相对简单的对象模型,基于2个主要类:提供者和产品。现在提供者引用他可以提供的产品列表,并且产品引用可以提供它的提供者列表。那就是,我有循环引用!因为:a)我不希望被“类别”,“类型”等限制,但希望尽可能创建一个灵活的产品树。 b)我想通过相同的界面管理产品和树元素(所谓的“类别”)。正如我们现在所有,同样的抽象产品可以有许多不同的“物理实现”(例如:汽车是抽象产品,而丰田Yaris是实物产品)。因此,为了分离产品的抽象和物理实现,我实现了桥接模式。摘要产品现在是ProductTemplate(上述复合材料),物理产品是ProductImplementation。
我设法使用Hibernate(和Spring)对此进行建模。
现在我想生成XML字符串来让后端和前端对话。
目前,我正在做一些研究与JAXB,看它是否能满足我的需求:
- 我想元帅提供者,其所有ProductTemplate
- 我的列表想要编制一个ProductTemplate,其所有供应商名单
但是,这只是我需要的一个方面。我也希望能够从同一个类中生成不同版本的XML字符串。例如,从提供的对象,我希望能够集结含
- 一个XML只是其基本的相关信息(姓名,地址,...)
- 扩展的相关信息(最后deivered产品,最后交付日期)
完整的monty,也就是我在BD中对他的一切。
目前,我能够使用JAXB Anotations编组ProductTemplate,因为我已经将它们作为Provider类中的XmlTransient进行了排列。这是不够好的!
我不是要求在这一点上的代码的详细说明。我问的是:
- JAXB能满足我的需求吗?
- 如果是的话,请建议一种方法来做到这一点(我已经看到这篇文章回答了我的问题XSD for having 2 root elements (1 at a time)的一部分),特别是来自单个类的多个XML!
大家好解释,因为我写了这个问题,我已经检查布莱斯Doughan的博客。在那里,您可以使用JAXB而不用注释来获得更大的灵活性。这可能非常符合我的需要。潜入JAXB ... – avi613 2014-10-23 09:45:42
和MOXY/JAXB似乎meeeeeeeet我的需要! 我已经使用了xml-transient标签来使字段消失。 – avi613 2014-10-23 13:10:43