Muhammad Imran Tariq
Muhammad Imran Tariq

Reputation: 23352

Generate list tag and object tag in jaxb

I want to generate list tag and object tag in jaxb. I have two classes.

@XmlRootElement(name = "firstclass")
    class Firstclass{
     List<secondclass> secondclassList = new ArrayList<secondclass>();

     //constructors, getters, setters

      @XmlElement(name = "secondclassList")
       public void setsecondclassList(List<Secondclass> secondclassList) {
       this.secondclassList= secondclassList;
      }

    }

second class code

@XmlRootElement(name = "secondclass")
    class Secondclass{
     String name;
     String attribute;

     //constructors, getters, setters
    }

After xml conversion, I am getting output like

<firstclass>
    <secondclassList>
      <name>my name</name>
      <attribute>attr value 11</attribute>
    <secondclassList>
    </secondclassList>
      <name>my name</name>
      <attribute>attr value 22</attribute>
    </secondclassList>
</firstclass>

but I want output like this

<firstclass>
    <secondclassList>
         <secondclass>
              <name>my name</name>
              <attribute>attr value 11</attribute>
         </secondclass>
         <secondclass>
              <name>my name</name>
              <attribute>attr value 22</attribute>
         </secondclass>
     </secondclassList>
</firstclass>

Upvotes: 1

Views: 166

Answers (1)

BobTheBuilder
BobTheBuilder

Reputation: 19284

Try using:

  @XmlElementWrapper(name = "secondclassList")
  @XmlElement(name="secondclass")
  public void setsecondclassList(List<Secondclass> secondclassList) {

Upvotes: 4

Related Questions