2015-08-10 7 views
0

Не могли бы вы помочь мне У меня есть файл XML с частьюДжексон XML в список POJO преобразования вопрос

<time-layout time-coordinate="local" summarization="none"> 
<layout-key>k-p24h-n7-1</layout-key> 
<start-valid-time>2015-08-10T08:00:00-04:00</start-valid-time> 
<end-valid-time>2015-08-10T20:00:00-04:00</end-valid-time> 
<start-valid-time>2015-08-11T08:00:00-04:00</start-valid-time> 
<end-valid-time>2015-08-11T20:00:00-04:00</end-valid-time> 
<start-valid-time>2015-08-12T08:00:00-04:00</start-valid-time> 
<end-valid-time>2015-08-12T20:00:00-04:00</end-valid-time> 
<start-valid-time>2015-08-13T08:00:00-04:00</start-valid-time> 
<end-valid-time>2015-08-13T20:00:00-04:00</end-valid-time> 
<start-valid-time>2015-08-14T08:00:00-04:00</start-valid-time> 
<end-valid-time>2015-08-14T20:00:00-04:00</end-valid-time> 
<start-valid-time>2015-08-15T08:00:00-04:00</start-valid-time> 
<end-valid-time>2015-08-15T20:00:00-04:00</end-valid-time> 
<start-valid-time>2015-08-16T08:00:00-04:00</start-valid-time> 
<end-valid-time>2015-08-16T20:00:00-04:00</end-valid-time> 
</time-layout> 

и использовать компонент для преобразования

public class TimeLayout { 

    @JacksonXmlProperty(localName = "time-coordinate" , isAttribute = true) 
    private String timecoordinate; 

    @JacksonXmlProperty(localName = "summarization" , isAttribute = true) 
    private String summarization; 

    @JacksonXmlProperty(localName = "layout-key" , isAttribute = false) 
    private String key; 

    @JacksonXmlProperty(localName = "start-valid-time" , isAttribute = false) 
    @JacksonXmlElementWrapper(useWrapping = false) 
    private List<String> startvalidtime; 

    @JacksonXmlProperty(localName = "end-valid-time" , isAttribute = false) 
    @JacksonXmlElementWrapper(useWrapping = false) 
    private List<String> endvalidtime; 

Но при анализе с помощью XML Mapper из Джексон библиотека Мы получаем только одну пару значений (последняя)

<start-valid-time>2015-08-16T08:00:00-04:00</start-valid-time> 
<start-valid-time>2015-08-16T20:00:00-04:00</end-valid-time> 

Поскольку каждый следующий или (с самого начала) имеет свой собственный контекст и устанавливает значение предыдущего, но не добавляется в список.

ответ

0

Обычный способ отладки проблем отображения, чтобы начать с POJO у вас есть (создания экземпляров программно), то сериализации (запись в формате XML), и посмотреть, как различаются структуры. И из этого, либо модифицируйте аннотации, конфигурацию модуля Jackson XML, либо, возможно, определения POJO.

+0

Благодарим за внимание! – Pixel

 Смежные вопросы

  • Нет связанных вопросов^_^