Java 如何使用JAXB序列化多个对象
我正在尝试以特定格式序列化我拥有的对象列表。XML结构将是:Java 如何使用JAXB序列化多个对象,java,xml,jaxb,Java,Xml,Jaxb,我正在尝试以特定格式序列化我拥有的对象列表。XML结构将是: <doc> <data> <item> ... object properties go here ... </item> </data> </doc> 到目前为止,我已经使元素的整个结构正常工作,但是下面的代码将其创建为XML文档本身,我需要能够循环遍历我的数组,并将它们全部添加到上面描述的结构中
<doc>
<data>
<item>
... object properties go here ...
</item>
</data>
</doc>
到目前为止,我已经使元素的整个结构正常工作,但是下面的代码将其创建为XML文档本身,我需要能够循环遍历我的数组,并将它们全部添加到上面描述的结构中
JAXBContext context = JAXBContext.newInstance(Concern.class);
JAXBElement<Concern> jaxbElement = new JAXBElement(new QName("item"), Concern.class, concerns.get(0));
Marshaller m = context.createMarshaller();
StringWriter sw = new StringWriter();
m.marshal(new JAXBElement(new QName("item"), Concern.class, concerns.get(0)), sw);
谢谢您的帮助。您需要表示doc和data标签的类,比如doc和data。然后创建一个文档实例,向其中添加一个数据实例,最后将所有关注的实例添加到该数据实例。然后封送Doc实例。您需要表示Doc和data标记的类,比如Doc和data。然后创建一个文档实例,向其中添加一个数据实例,最后将所有关注的实例添加到该数据实例。然后封送文档实例。您可以执行以下操作:
@XmlRootElement
@XmlAccessorType(XmlAccessType.FIELD)
public class Doc {
@XmlElementWrapper(name="data")
@XmlElement(name="item")
private List<Concern> concerns;
}
更多信息
您可以执行以下操作:
@XmlRootElement
@XmlAccessorType(XmlAccessType.FIELD)
public class Doc {
@XmlElementWrapper(name="data")
@XmlElement(name="item")
private List<Concern> concerns;
}
更多信息
@jtahlborn-您可以使用@XmlEleentWrappername=data来避免使用类来表示数据标记:@jtahlborn-您可以使用@XmlEleentWrappername=data来避免使用类来表示数据标记: