4

JAXB を使用して XML に変換される、非常に長い名前のクラスがあります。を使用し@XmlRootElement(name="nicername")て、外側の XML タグの名前を に変更できます<nicername>

クラスの醜い名前を持つ個々の属性の名前を、適切な名前に変更するにはどうすればよいですか?

4

3 に答える 3

11

@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;
    }

}
于 2013-02-27T02:42:30.890 に答える
1

@XmlAttribute アノテーションと @XmlElement アノテーションはどちらも、@XmlRootElement アノテーションと同じ構文を使用して名前で再マップできます。したがって、再マップが必要な個々のフィールド/プロパティに関連する注釈を添付し、「名前」の引数を指定するだけです。

于 2013-02-26T22:47:50.710 に答える
1

以下を使用して、オブジェクト プロパティの代替名を定義できます。

于 2013-02-26T22:34:18.607 に答える