2009-09-23 9 views
2

Supposons que j'ai un élément JAXB comme ceci:Ajout d'attributs statiques à JAXB éléments générés

@XmlElement 
private double value; 

cela va générer XML comme ceci:

<value>3.14159</value> 

Maintenant, comment puis-je modifier ma déclaration (ou personnaliser marshalling JAXB) pour générer XML comme ceci:

<value type="double">3.14159</value> 

Le type attrib ute aura toujours la même valeur, c'est-à-dire "double".

Merci!

Répondre

2

Vous devez une définir une classe qui encapsule la combinaison de la double et la chaîne, puis annoter une valeur fixe statique:

public class MyDouble { 
    @XmlValue 
    private double value; 

    @XmlAttribute(name="type") 
    private final static String TYPE = "double"; 

} 

Alors votre code devient:

@XmlElement 
private MyDouble value; 
+0

parfait . J'oublie toujours @XmlValue. Merci! –

Questions connexes