我有以下代码:
@XmlRootElement(name = "foo")
@XmlAccessorType(XmlAccessType.FIELD)
public class Foo
{
@XmlElement
private String id;
...
}
我希望能够将Set<Foo> foos
编组为:
<foos>
<foo>
<id>bar1</id>
</foo>
<foo>
<id>bar2</id>
</foo>
</foos>
我需要一个包装类吗?如果是这样,它应该怎么样?我的注释是否正确?漫游代码应该如何显示(如果您能够说明这一切,那将非常感激)?
答案 0 :(得分:3)
如果要封装任何Collection,请使用XmlElementWrapper
@XmlElementWrapper(name="foos")
@XmlElement(name="foo")
private Set<Foo> foos;
顺便说一句,你不能直接编组一个Set,所以你必须在你自己的类中包含你的Set。所以,如果你只想编写一套Foo,你必须写一个像这样的bean:
@XmlRootElement(name = "foos")
public class Foos {
@XmlElement(name="foo")
private Set<Foo> foo;
}