/ / Як використовувати JAXB для marshall / unmarshall колекції MyBean - java, колекції, jaxb, marshalling, unmarshalling

Як використовувати JAXB для marshall / unmarshall колекцію MyBean - java, collections, jaxb, маршінг, unmarshalling

У мене є анотація MyBean

@XmlRootElement
public class MyBean ...

Визначення / скасування проблем з MyBean, наприклад,

JAXBContext jaxbCtx = JAXBContext.newInstance(MyBean.class);
Marshaller m = jaxbCtx.createMarshaller();
m.marshal(myBean, writer);

Як я можу використовувати JAXB для розподілу / скасування колекції або списку?

Моя спроба призводить до цієї помилки:

javax.xml.bind.MarshalException
- with linked exception:
[com.sun.istack.internal.SAXException2: unable to marshal type "java.util.ArrayList" as an element because it is missing an @XmlRootElement annotation]
at com.sun.xml.internal.bind.v2.runtime.MarshallerImpl.write(MarshallerImpl.java:304)
at com.sun.xml.internal.bind.v2.runtime.MarshallerImpl.marshal(MarshallerImpl.java:230)

Відповіді:

3 для відповіді № 1

Ви повинні створити інший елемент типу MyBeanList і використовувати його. Щось пов'язане з SO Використання JAXB для видалення / маршалювання списку <String>