[英]Serialized XML is nested from auto-generated Java classes
給定一個.xsd
文件,我可以使用Maven工具從中生成Java類,然后使用Jackson來序列化數據。
我正在使用:
org.jvnet.jaxb2.maven2:maven-jaxb2-plugin:0.13.3
生成Java類 com.fasterxml.jackson.dataformat.xml.XmlMapper
(2.9.2)與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>
我們的期望:
<item ....>
<title locale="en_US">The Title</title>
換句話說,XML是嵌套的。
這是應該控制的東西嗎?
.xsd
在代碼生成中進行更改? 終於找到答案了。 我已經看到了許多使用此配置的示例,但不知道它實際上在做什么。 這個錯誤報告通過以下短語為我提供了線索
列表的包裝器元素
XmlMapper xmlMapper = new XmlMapper();
xmlMapper.setDefaultUseWrapper( false ); // This prevents unnecessary nesting of XML elements
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.