来自对象两个字段的Jaxb自定义元素

时间:2019-01-18 15:07:15

标签: java xml jaxb

jaxb是否有一种方法可以从一个对象的两个字段中创建一个自定义元素? 这是我所拥有和想要的例子。我意识到我可以将这些字段提取到一个单独的带注释的类中,但是我很好奇有办法做到这一点。

@XmlRootElement()
public class Foo {
   public String bar
   public String baz
}

预期的输出xml:

<foo>
  <customElement bar="barValue">bazValue</customElement>
</foo>

谢谢!

1 个答案:

答案 0 :(得分:0)

foo类

@XmlRootElement()
public class Foo {

   private customElement CustomElement;

   public CustomElement getCustomElement(){
       return customElement;
   }

   @XmlElement
   public void setCustomElement(CustomElement customElement){
       this.customElement = customElement;
   }
}

自定义元素的类

@XmlAccessorType(XmlAccessType.FIELD)
public class CustomElement {

    @XmlAttribute
    private String bar;

    @XmlValue
    private String baz

    // set getters and setters
}