Java 使用Jackson将POJO序列化为xml时删除xml包装器

Java 使用Jackson将POJO序列化为xml时删除xml包装器,java,xml,jackson-dataformat-xml,Java,Xml,Jackson Dataformat Xml,我必须获取一个java对象并将其序列化为xml字符串。 expect xml必须如下所示: <close_trailer_results> <detl_code_load_cond_stat>CLSD</detl_code_load_cond_stat> <detl_code_serv_type>GND</detl_code_serv_type> <detl_code_due_sort&

我必须获取一个java对象并将其序列化为xml字符串。 expect xml必须如下所示:

 <close_trailer_results>  
     <detl_code_load_cond_stat>CLSD</detl_code_load_cond_stat>  
     <detl_code_serv_type>GND</detl_code_serv_type>  
     <detl_code_due_sort>PRE</detl_code_due_sort>   
     <due_dt_gmt>2018-12-12 08:00:00</due_dt_gmt>   
     <org_id_next_sort>441</org_id_next_sort>  
 </close_trailer_results>
> <close_trailer_results>
>     <LoadCloseTrailerResponseXml> 
>        <detl_code_load_cond_stat>CLSD</detl_code_load_cond_stat> 
>        <detl_code_serv_type>OVN</detl_code_serv_type> 
>        <detl_code_due_sort>MID</detl_code_due_sort>
>        <due_dt_gmt>2019-03-19 07:59:43</due_dt_gmt> 
>        <org_id_next_sort>61</org_id_next_sort>
>     </LoadCloseTrailerResponseXml> </close_trailer_results
创建xml时,代码如下:

XmlMapper xmlMapper = new XmlMapper();
        xmlMapper.setSerializationInclusion(Include.NON_NULL);

        LoadCloseTrailerResponseXml responseTrailer = new LoadCloseTrailerResponseXml();
        responseTrailer.setDetl_code_load_cond_stat(trailerResponse.getTrailer().getDetlCodeLoadCondStat());
        responseTrailer.setDetl_code_serv_type(trailerResponse.getTrailer().getDetlCodeServType());
        responseTrailer.setDetl_code_due_sort(trailerResponse.getTrailer().getDetlCodeDueSort());
        responseTrailer.setDue_dt_gmt(trailerResponse.getTrailer().getDueDateGmt());
        responseTrailer.setOrg_id_next_sort(trailerResponse.getTrailer().getOrgIdNextSort());
我无法在类级别添加@JsonUnwrapped注释。 在创建xml之前,我尝试添加以下代码:

JacksonXmlModule xmlModule = new JacksonXmlModule();
xmlModule.setDefaultUseWrapper(false);
ObjectMapper xmlMapper = new XmlMapper(xmlModule);
这没有影响。类包装仍在xml中。 如何在不将类包装到元素周围的情况下创建xml字符串

更新 我发现xmlMapper的配置设置应该可以工作,但不能:

xmlMapper.configure(SerializationFeature.WRAP_ROOT_VALUE, false);

我在网上读到,当从POJO创建xml文件时,Jackson将在xml文件中放置一个根标记,不管您是否设置了根标记。如果不设置它,它将是类名。我的解决方案是创建包含这些根标记的xml字符串,并执行一个字符串函数来删除根标记。

您是如何配置它的
xml
close\u trailer\u results
节点包装的?能否显示将
Java
对象序列化为
XML
的代码?xmlModule.setDefaultUseWrapper(false);为我工作谢谢
xmlMapper.configure(SerializationFeature.WRAP_ROOT_VALUE, false);