У мене є анотація 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>