有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

java如何使用jaxb整理集合?

我有以下代码:

@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>

我需要一个包装器类吗?如果是,它应该是什么样子?我的注释正确吗?marhalling代码应该是什么样子的(如果你能说明这一切,那将不胜感激)


共 (1) 个答案

  1. # 1 楼答案

    如果要封装任何集合,请使用XmlElementWrapper

    @XmlElementWrapper(name="foos")
    @XmlElement(name="foo")
    private Set<Foo> foos;
    

    顺便说一句,你不能直接整理一个集合,所以你必须把你的集合包含在你自己的类中。所以,如果你只想整理一组Foo,你必须写一个bean,如下所示:

    @XmlRootElement(name = "foos")
    public class Foos {
        @XmlElement(name="foo")
        private Set<Foo> foo;
    }