似乎最新的 JAX-RS 可以处理返回 java.util.List 作为 XMLRootElement 的方法,但普通的 JAXB 不能。我想模仿 CXF 和 Jersey 正在做的事情。
换句话说,我想编组一个列表,就像 CXF 和 Jersey 一样。通常,如果您尝试使用 JAXB 编组列表,则会收到 Root Element 异常。我如何在不必制作包装对象的情况下解决这个问题?
编辑:感谢您提供的许多答案,但我对@XmlElementWrapper 非常熟悉,但这甚至无法模拟 JAX-RS 正在做什么。
JAX-RS 这样做:
@XmlRootElement(name="dog")
public class Dog {
private String name;
public String getName() { return this.name; }
//Setter also
}
现在,如果我序列化一个狗列表:
serialize(List<Dog> dogs);
XML 应该是(JAX-RS 所做的):
<dogs>
<dog><name>Rascal</name></dog>
</dogs>
所以你可以看到我不想为每个域对象创建一个包装器对象。