Java JAXB:带注释实例的编组列表

Java JAXB:带注释实例的编组列表,java,list,jaxb,marshalling,Java,List,Jaxb,Marshalling,我被困在一些应该非常基本的东西上。 我有一个带注释的Person POJO(字段上有@xmltribute和@xmlement注释)。 该类被注释为@XMLRootElement。 现在我有了一个服务,它执行一个查询,返回这些实例的列表。换句话说,, 我最终得到了 List<Person> 它多次输出整个文档(每个记录都有多个xml标题行): 简单封送带注释POJO的多个实例的“正确”方法是什么? 我假设它必须包装在另一个名为“people”的“upper”根元素中,然后将每个p

我被困在一些应该非常基本的东西上。 我有一个带注释的Person POJO(字段上有@xmltribute和@xmlement注释)。 该类被注释为@XMLRootElement。 现在我有了一个服务,它执行一个查询,返回这些实例的列表。换句话说,, 我最终得到了

List<Person> 
它多次输出整个文档(每个记录都有多个xml标题行):

简单封送带注释POJO的多个实例的“正确”方法是什么? 我假设它必须包装在另一个名为“people”的“upper”根元素中,然后将每个person节点作为子节点。但是如何使用JAXB实现这一点呢


谢谢

是的,你说得对。您必须将父元素作为列表,然后尝试在列表对象中添加person值

for(Person person : people){
    jaxbMarshaller.marshal(person, out);
}
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<person>
<name>Bob</name>
</person>
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<person>
<name>Gary</name>
</person>
javax.xml.bind.JAXBException: class java.util.ArrayList nor any of its super class is
known to this context.