繁体   English   中英

JAXB重命名属性

[英]JAXB rename attribute

我有一个名字很烂的类,它用JAXB转换成XML。 使用@XmlRootElement(name="nicername") ,我能够将外部XML标签重命名为<nicername>

如何将具有丑陋类名的单个属性重命名为一些不错的名称?

您可以使用@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;
    }

}

您可以使用以下方法为对象属性定义备用名称:

@XmlAttribute和@XmlElement批注都可以使用与@XmlRootElement批注相同的语法按名称重新映射。 因此,只需将相关注释附加到您需要重新映射的每个单独的字段/属性,并为“名称”提供参数即可。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM