如何使用JAXB生成XML自定义标记?

时间:2015-03-23 20:16:03

标签: xml jaxb output

我的VO:

public class Address {     
    private String street;
    private String complement;

JAXB生成输出:

<address>
   <street>Some avenue</street>
   <complement>Some number and other info</complement>
</address>

但是当编组时,我需要告诉JAXB:对于这个XML,属性&#34; street&#34;必须命名为#34;爆米花&#34;,以及atribute&#34;补充&#34;必须命名&#34; butter&#34;,生成输出:

<address>
   <popcorn>Some avenue</popcorn>
   <butter>Some number and other info</butter>
</address>

请注意,现在,我只需要更改属性名称,而不是类型名称。如果可能的话,我必须使用JAXB来实现。我用replaceAll()方法实现了它,但我需要一个更好的方法。我在Java 6,我无法修改VO,我只需要使用一些自定义标签生成XML。

1 个答案:

答案 0 :(得分:1)

使用getter / setter注释字段或-if-使用@XmlElement(name="some-valid-xml-tag-name")的getter或setter方法来获得所需的行为:

@XmlElement(name="popcorn")
private String street;

另请参阅:http://docs.oracle.com/javaee/6/api/javax/xml/bind/annotation/XmlElement.html