2010-03-10 54 views
0

我正在为简单的JAXB自定义问题而苦苦挣扎。我有这样的模式。 (它实际上是一个Bing地图的Web服务架构的片段)通过JAXB自定义忽略容器元素

现在,当我生成使用wsimport的Java类,它创建的代码结构,如:

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

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

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

正如你看到ArrayOfFilterBase是一个容器类我想省略。我想直接在GeocodeOptions类中使用getFilterBaseList()方法。

是否可以通过JAXB定制来完成?我努力寻找它,但找不到解决方案。

感谢您的帮助。

问候 纳比尔·穆赫塔尔

回答

5

是的,你可以省略使用@XmlElementWrapper注释的容器。你的代码应该是这样的:

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