Jackson XML冲突

Jackson XML冲突,xml,spring,kotlin,jackson,jackson2,Xml,Spring,Kotlin,Jackson,Jackson2,今天我遇到了一个问题。我需要获取以下xml视图: <promotion> <i ... /> </promotion> <promotion_banner> <i ... /> </promotion_banner> <promotion_whats_new> <i ... /> <i ... /> <i ... /> <

今天我遇到了一个问题。我需要获取以下xml视图:

<promotion>
    <i ... />
</promotion>

<promotion_banner>
    <i ... />
</promotion_banner>

<promotion_whats_new>
    <i ... />
    <i ... />
    <i ... />
    <i ... />
    <i ... />
</promotion_whats_new>
是虫子还是我做错了


当然,我可以通过提供新类(比如Promotion)来实现它,但也许有更好的解决方案。

您正在用同一个类中的不同Java类成员重新定义元素“i”

为不同的实体提供不同的名称肯定是更好的方法

XML元素不仅仅是一个标记。它是一个具有属性和嵌套元素(复杂结构)的对象。最好用不同的标记定义不同的对象

在您的情况下,以下结构看起来会更好:

<promotions>
    <promotion ... />
</promotions>

<banners>
    <banner ... />
</banners>

<whatsnews>
    <whatsnew ... />
    <whatsnew ... />
    <whatsnew ... />
    <whatsnew ... />
</whatsnews>

包装器元素是可选的。可以编写相同的XML,而无需包装元素。在原始XML中不可能:

<promotion ... />
<banner ... />
<whatsnew ... />
<whatsnew ... />
<whatsnew ... />

<promotions>
    <promotion ... />
</promotions>

<banners>
    <banner ... />
</banners>

<whatsnews>
    <whatsnew ... />
    <whatsnew ... />
    <whatsnew ... />
    <whatsnew ... />
</whatsnews>
<promotion ... />
<banner ... />
<whatsnew ... />
<whatsnew ... />
<whatsnew ... />