JAXB демаршалинг нескольких элементов XML в один класс

У меня есть следующая структура XML, которая моделирует единую концепцию с помощью нескольких элементов XML. Я не могу контролировать этот формат.


  
    
      1
      x
    
    
      2
      y
    
    
      1
      Channel name
    
    
      2
      Another channel name
    
  

Я хочу смоделировать его в базе данных, над которой у меня есть контроль, и у меня может быть более простая таблица Channel с id , ] type и name поля. Поэтому я хотел бы демаршалировать его в один List в классе Wrapper .

Можно ли это сделать с помощью @Xml ... аннотации автоматически? В настоящее время я использую JAXB для разделения на отдельные списки классов @XmlElement (name = "Channel") и @XmlElement (name = "ChannelName") и последующей обработки переходного ChannelName / name на канале , но я думаю, что должен быть более простой автоматизированный способ сопоставления этих элементов. Или это работа для XSLT?

Может быть полезно знать, что XML поступает как файл POST HTTP, а я использую Spring 3, Java и Hibernate. Я надеюсь, что что-то в EclipseLink JAXB (MOXy) может помочь :)

7
задан andyb 16 March 2011 в 12:36
поделиться