2010-03-10 3 views
0

Je suis aux prises avec un problème de personnalisation JAXB simple. J'ai un schéma comme celui-ci. (Son en fait un extrait de Bing Maps schéma de services Web)Ignorer les éléments du conteneur grâce à la personnalisation JAXB

Maintenant, quand je produis des classes java en utilisant wsimport, il crée la structure de code comme:

public class GeocodeOptions implements Serializable { 
... 
    public ArrayOfFilterBase getFilters() { 
    ... 
    } 

    public void setFilters(ArrayOfFilterBase value) { 
    ... 
    } 
} 

public class ArrayOfFilterBase implements Serializable { 
... 
    public List<FilterBase> getFilterBaseList() { 
    ... 
    } 
} 

Comme vous remarquez ArrayOfFilterBase est une classe de conteneur qui Je voudrais omettre. Je voudrais avoir la méthode getFilterBaseList() directement dans la classe GeocodeOptions. Est-il possible de le faire via la personnalisation JAXB?

J'ai cherché dur pour cela mais je n'ai pas trouvé de solution.

Merci pour votre aide.

Cordialement Nabeel Mukhtar

Répondre

5

Oui, vous pouvez omettre le conteneur en utilisant l'annotation @XmlElementWrapper. Votre code devrait ressembler à ceci:

public class GeocodeOptions implements Serializable { 
     @XmlElementWrapper(name = "...") 
     @XmlElement(name = "...") 
     public List<FilterBase> getFilterBaseList() { 
     ... 
     } 
} 
Questions connexes