我的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。
答案 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