【发布时间】:2011-01-25 21:12:00
【问题描述】:
我正在努力解决一个简单的 JAXB 自定义问题。我有这样的架构。 (它实际上是 Bing Maps Web Services 模式的 sn-p)
<xs:complexType name="GeocodeOptions">
<xs:sequence>
<xs:element minOccurs="0" name="Count" nillable="true" type="xs:int" />
<xs:element minOccurs="0" name="Filters" nillable="true" type="ArrayOfFilterBase" />
</xs:sequence>
</xs:complexType>
<xs:complexType name="ArrayOfFilterBase">
<xs:sequence>
<xs:element minOccurs="0" maxOccurs="unbounded" name="FilterBase" nillable="true" type="FilterBase" />
</xs:sequence>
</xs:complexType>
现在,当我使用 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 自定义来实现?我苦苦寻找它,但找不到解决方案。
感谢您的帮助。
问候 纳比尔·穆赫塔尔
【问题讨论】: