序列化XML嵌套在自动生成的Java类中

时间:2018-05-08 14:12:40

标签: xml maven-jaxb2-plugin jackson-dataformat-xml

给定Array.append(pd.Series(appendArray,index=Array.columns), ignore_index = True) Out[780]: curTime HC AC HG HF1 HF2 HF3 HF4 HF5 HF6 ... AF9 AF10 AF11 \ 0 0 0 0 0 0 0 0 0 0 0 ... 0 0 0 1 0 0 0 0 0 0 0 0 0 0 ... 0 0 0 AF12 AD1 AD2 AD3 AD4 AD5 AD6 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 [2 rows x 41 columns] 文件,我有策略使用Maven工具从中生成Java类,然后使用Jackson来序列化数据。

我正在使用:

  • .xsd生成Java类
  • org.jvnet.jaxb2.maven2:maven-jaxb2-plugin:0.13.3(2.9.2)com.fasterxml.jackson.dataformat.xml.XmlMapper序列化

生成代码的示例:

new JaxbAnnotationModule()

使用示例:

@XmlElement(required = true)
protected List<TLocalizedString> title;

我们正在:

TLocalizedString tls = new TLocalizedString();
tls.setValue( string );
tls.setLocale( LOCALE );
item.getTitle().add( tls );

我们的期望:

<item ....>
    <title>
        <title locale="en_US">The Title</title>
    </title>

换句话说,XML是嵌套的。

这是应该控制的事情:

  • 在使用点的代码中?
  • 在Jackson序列化程序的配置中?
  • 在通过配置或生成标志生成代码?
  • 通过<item ....> <title locale="en_US">The Title</title> 更改代码生成?

1 个答案:

答案 0 :(得分:0)

终于找到了答案。我看过很多使用这个配置的例子,但不知道它实际上在做什么。正是这个bug report通过短语

给了我线索
  

列表的包装元素

XmlMapper xmlMapper = new XmlMapper();
xmlMapper.setDefaultUseWrapper( false ); // This prevents unnecessary nesting of XML elements