Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Jackson Xml duplicate Tag name

I'm generating xml using jackson xml, My POJO class for jackson xml generation as below:

public class data { 

    @JacksonXmlProperty(localName="Element") 
    Element element = new Element();  

}
public class Element {
    @JacksonXmlProperty(localName="element1")
    private List<String> element1;
    public List<String> getElement1() {
        return element1;
    }    
    public void setElement1(List<String> element1) {
        this.element1 = element1;
    }
}

I'm expecting an output like:

<Element>
  <element1></element1>
  <element1></element1>
  <element1></element1>
</Element>

but I'm getting:

<Element>
 <element1>
   <element1></element1>
   <element1></element1>
   <element1></element1>
 <element1>
</Element>

how to solve this ?

like image 291
born to code Avatar asked Oct 19 '25 01:10

born to code


1 Answers

Add JacksonXmlElementWrapper

 @JacksonXmlElementWrapper(useWrapping = false)   
 @JacksonXmlProperty(localName="element1")
    private List<String> element1;

Annotation that is similar to JAXB javax.xml.bind.annotation.XmlElementWrapper, to indicate wrapper element to use (if any) for Collection types (arrays, java.util.Collection). If defined, a separate container (wrapper) element is used; if not, entries are written without wrapping.

like image 143
user7294900 Avatar answered Oct 20 '25 16:10

user7294900



Donate For Us

If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!