How to use JAXB to marshall/unmarshall a collection of MyBean

19,786

You have to create another element of type MyBeanList and use it. Something related on SO Using JAXB to unmarshal/marshal a List<String>

Share:
19,786
marklai
Author by

marklai

Updated on June 04, 2022

Comments

  • marklai
    marklai almost 2 years

    I have a MyBean annotated

    @XmlRootElement
    public class MyBean ...
    

    Marshalling/Unmarshalling MyBean w/o problems, e.g.

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

    How can I use JAXB to marshall/unmarshall a Collection or List?

    My attempt results in this error:

    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)