簡體   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