我有一个带有可怕长名称的类,它使用JAXB转换为XML。使用@XmlRootElement(name="nicername")
,我可以将外部XML标记重命名为<nicername>
。
如何将具有丑陋名称的个别属性重命名为一些好名字?
答案 0 :(得分:9)
您可以使用@XmlAttribute
和@XmlElement
注释来更改XML名称。如果您注释字段,请务必在类上使用@XmlAccessorType(XmlAccessType.FIELD)
注释:
@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;
}
或者您可以注释属性:
@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;
}
}
答案 1 :(得分:1)
您可以使用以下方法为对象属性定义备用名称:
XMLAttribute
属性注释XMLElement
元素注释答案 2 :(得分:1)
@XmlAttribute和@XmlElement注释都可以使用与@XmlRootElement注释相同的语法按名称重新映射。因此,只需将相关注释附加到您需要重新映射的每个单独的字段/属性,并为“名称”提供参数。