我想生成各种集合的集合。所有具有共同家长和每一个@XMLRootElement
:使用集合集合生成XML
@XmlRootElement("as")
public class As extends DTOs {
@XmlElement("a")
private Collection collection;
//
}
@XmlRootElement("bs")
public class Bs extends DTOs {
@XmlElement("b")
private Collection collection;
//
}
@XmlRootElement("b")
public class B extend DTO {
}
public class DTOs extends DTO {
}
public class Element Extend DTO{
private Collection collection;
@XmlElementRef
getCollection() {
return collection;
}
}
应该是什么在Element
的annonations创建:
<as>
<a>
<name>
</a>
<bs>
<b><foo/></b>
<bs>
<cs>
<c/>
</cs>
</as>
我第一次尝试是@XmlAnyElement(lax=true)
但thew异常因“非法注释”。我想这是因为与具体物体中的@XmlElement
发生碰撞。
当加入@XmlElementRef
它在运行时,因为它缺少一个@XmlRootElement
注释抱怨与
不能编组型“com.example.Bs”为元素
我认为这可能归因于继承。
我加了th e'jaxb'标签,并删除了'sax ...'标签,因为我猜这更符合您的要求,如果不是,请更正标签。你是否尝试先创建一个XSD,然后生成相应的Java类(这可能会让你的生活更轻松)? – home 2012-02-29 19:01:31
为什么关于同一主题的新问题?为什么不修改你之前的问题? – 2012-02-29 19:01:53
删除了前一个。我认为这个更清晰 – ssedano 2012-02-29 19:08:26