2010-12-12 37 views
1

Lorsque nous mappons List, nous pouvons utiliser l'annotation @XmlElementWrapper pour envelopper chaque élément d'une étiquette. Mais si cette collection contient des instances de différentes classes et que nous voulons utiliser des balises différentes, que devrions-nous faire? ajouter une annotation pour chaque classe qui peut être contenue dans cette collection? quelle annotation? Merci.Jaxb question simple à propos de l'emballage des étiquettes

Répondre

1

Cela peut être ce que vous cherchez @XmlElements qui est de savoir comment JAXB représente les structures de choix:

@XmlElements(value = { 
     @XmlElement(name="address", 
        type=Address.class), 
     @XmlElement(name="phone-number", 
        type=PhoneNumber.class), 
     @XmlElement(name="note", 
        type=String.class) 
}) 
private List<Object> contactInfo; 

Pour un exemple plus détaillé voir:

+0

Hm . Très intéressant. S'il y a de telles choses, pourquoi il n'y a pas de moyen facile pour l'héritage? –

+0

Commander: http://bdoughan.blogspot.com/2010/11/jaxb-and-inheritance-using-substitution.html et http://bdoughan.blogspot.com/2010/11/jaxb-and-inheritance-using -xsitype.html pour une explication de JAXB et de l'héritage. –

+0

Merde. Comment puis-je vous sauter deuxième article lorsque je recherche des informations sur? J'ai cartographié l'héritage d'une manière très laide. Mais, après cela, je vais réécrire ce genre de choses. Merci beaucoup. –