Как мне сериализовать несколько объектов с помощью JAXB - PullRequest
1 голос
/ 26 января 2012

Я пытаюсь сериализовать список объектов, которые у меня есть в определенном формате. Структура XML будет:

<doc>
    <data>
       <item>
          ... object properties go here ...
       </item>
    </data>
</doc>

Пока у меня есть вся структура элемента, работающая должным образом, но этот код ниже создаст его как сам XML-документ, мне нужно иметь возможность циклически проходить через мой массив и добавлять их все в структуру, описанную выше. 1004 *

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);

Спасибо за любую помощь.

Ответы [ 2 ]

2 голосов
/ 26 января 2012

Вы можете сделать следующее:

@XmlRootElement
@XmlAccessorType(XmlAccessType.FIELD)
public class Doc {

    @XmlElementWrapper(name="data")
    @XmlElement(name="item")
    private List<Concern> concerns;

}

Для получения дополнительной информации

2 голосов
/ 26 января 2012

Вам нужны классы, представляющие теги "doc" и "data" (скажем, Doc and Data). затем вы создаете экземпляр Doc, добавляете в него экземпляр Data и, наконец, добавляете все свои экземпляры Concern в экземпляр Data. затем назначить инстанцию ​​Дока.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...