使用JAXB将属性从一个类分离到XML中的多个元素

时间:2016-09-13 15:12:57

标签: java xml jaxb

我还处于设计阶段,所以目前我没有任何代码段。

上下文

我正在编写一个应用程序来编写相对复杂的XML,包含3个主要元素和大约25个参数(主要是属性和一些值)。有很多自定义类型,因此XJC生成大约15个类(其中大多数是字符串或带有一些附加约束的数字)。 编辑:有一个根元素,包含这3个元素,我正在谈论。

它的目的是允许用户生成模式允许的各种不同变体。所以我基本上需要创建一个swing表单并最终根据输入的数据创建xml。

尝试以某种方式将一个表单中的25个不同字段映射到对象的树状结构似乎是不切实际的(特别是因为许多属性是可选的,因此一些对象甚至不应该存在用户输入内容。)

所以最好的解决方案似乎是将数据从swing形式保存到一个bean(或几个),然后创建一些JAXB然后将编组的表示。

问题

有没有办法说服JAXB接受那个bean并直接创建3个元素,其属性和值都来自那个类?

编辑:经过一番讨论后,不同的询问方式是:有没有办法压平对象模型,为我生成xjc?

1 个答案:

答案 0 :(得分:0)

因为,你已经在使用XJC了,你的最终对象包含一个带有3个主子元素的根元素(反过来又有一个复杂的结构)。 JAXB无需说服,只需找出XJC输出中生成的顶级类并直接在资源方法中使用它,编组和放大。非编组应该是开箱即用的。