【问题标题】:Jackson Xml duplicate Tag nameJackson Xml 重复标签名称
【发布时间】:2019-04-30 01:30:02
【问题描述】:

我正在使用 jackson xml 生成 xml,我的用于 jackson xml 生成的 POJO 类如下:

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;
    }
}

我期待这样的输出:

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

但我得到了:

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

如何解决?

【问题讨论】:

    标签: java xml jackson jackson-databind


    【解决方案1】:

    添加JacksonXmlElementWrapper

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

    类似于 JAXB javax.xml.bind.annotation.XmlElementWrapper 的注释,用于指示要为集合类型(数组、java.util.Collection)使用(如果有)的包装器元素。如果已定义,则使用单独的容器(包装器)元素;如果不是,则写入条目时不进行换行。

    【讨论】:

      猜你喜欢
      • 2013-03-06
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2010-11-15
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多