I have some class with a terrible long name, which is transformed into XML with JAXB. Using @XmlRootElement(name="nicername")
, I am able to rename the outer XML tag to <nicername>
.
How do I rename individual attributes with ugly names of the class to some nice name too ?
You can use the @XmlAttribute
and @XmlElement
annotations to change the XML names. If you annotate the fields be sure to use the @XmlAccessorType(XmlAccessType.FIELD)
annotation on the class:
@XmlRootElement(name="nice-name")
@XmlAccessorType(XmlAccessType.FIELD)
public class UglyName {
@XmlElement(name="nice-element-name")
private String uglyElementName;
@XmlAttribute(name="nice-attribute-name")
private String uglyAttributeName;
}
Or you can annotate the properties:
@XmlRootElement(name="nice-name")
public class UglyName {
private String uglyElementName;
private String uglyAttributeName;
@XmlElement(name="nice-element-name")
public String getUglyElementName() {
return uglyElementName;
}
public void setUglyElementName(String name) {
this.uglyElementNamne = name;
}
@XmlAttribute(name="nice-attribute-name")
public String getUglyAttributeName() {
return uglyAttributeName;
}
public void setUglyAttributeName(String name) {
this.uglyAttributeNamne = name;
}
}
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With