处理JAXB集合
我试图使用JAXB解组以下XML:
A name A name 2
我使用XJC生成了所有类。 如果我想访问Composers集合,我必须这样做:
List composers = work.getComposers().getComposer();
我有什么方法可以做以下事情吗?
List composers = work.getComposers();
我很欣赏需要一个Composers对象,因为它派生自XML,但是当处理Java时,拥有一个存储集合的中间POJO似乎有点多余。
我的XSD是:
@XmlElementWrapper插件完全符合您的要求。
对于任何不能或不想使用插件的人:如果你可以使用不同的XML结构,可以通过简单地使用maxoccurs="unbounded"
并省略包含元素来避免生成额外的包装类。 使用原始示例:
会产生这样的结构:
A name A name 2
这将在Work类型上放置一个返回List
对象的方法。 不幸的是,该方法称为getComposer
而不是getComposers
,但您可以使用注释或自定义绑定来解决该问题。