парсинг вложенных элементов с одинаковыми именами с использованием jaxb

Мы много искали решение, но, к сожалению, я нене могу найти ничего, что могло бы решить мою проблему.

У меня огромный XML для платформы электронного обучения. в этом XML у меня есть вложенный элемент с тем же именем.

такие как:



  TITLE
  
    Welcome
  
  
    TITLE1
    
      TITLE2
      
        TITLE3
      
      
        TITLE4
      
      
        TITLE5
       

Как мы видим, это несколько "вещь"с в "вещь" и всякий раз, когда я пытаюсь отозвать предметы, я получаю только первое "родитель» вещь.

Вот мой класс Java предмета:

@XmlElementRef(name="item")
public List items = new ArrayList();
@XmlAttribute(name = "identifier", required = true)
@XmlJavaTypeAdapter(CollapsedStringAdapter.class)
@XmlSchemaType(name = "NCName")
protected String identifier;
@XmlAttribute(name = "identifierref", required = false)
@XmlJavaTypeAdapter(CollapsedStringAdapter.class)
@XmlSchemaType(name = "NCName")
protected String identifierref;
@XmlAttribute(name = "isvisible", required = false)
protected boolean isvisible;

Например, всякий раз, когда я вызываю заголовок любого из дочерних элементов, я всегда являюсь основным родительским заголовком.Добро пожаловать» ! значит я могуне попасть в рекурсив. Хотя мой метод полностью прав после долгого времени отладки ... всякий раз, когда я вызываю getItems (), я получаю []. любая помощь?

Ответы на вопрос(1)

Решение Вопроса

Может быть, это может помочь:JAXB бесконечная структура данных, рекурсивное связывание?

@XmlAccessorType(XmlAccessType.FIELD) // add this to avoid FIELD/METHOD conflicts
public class Item {
    private int id;
    private String name;

    @XmlElement(name="item")//There is no need for XmlElementRef 
    private List items = new ArrayList();

    @XmlAttribute(name = "identifier", required = true)
    @XmlJavaTypeAdapter(CollapsedStringAdapter.class)
    @XmlSchemaType(name = "NCName")
    protected String identifier;
    @XmlAttribute(name = "identifierref", required = false)
    @XmlJavaTypeAdapter(CollapsedStringAdapter.class)
    @XmlSchemaType(name = "NCName")
    protected String identifierref;
    @XmlAttribute(name = "isvisible", required = false)
    protected boolean isvisible; 

    //I think here is accessors
    List[Items] getItems ...


}
 Deksterious17 июн. 2013 г., 17:40
Спасибо но яМы пробовали много вариантов аннотаций перед личным списком <Пункт> items = new ArrayList <Пункт>(); , ничего не помогло! в том числе ваше предложение
 Deksterious17 июн. 2013 г., 20:22
да. это сработало. Большое спасибо.
 dk1410 июн. 2014 г., 21:39
Вы'Добро пожаловать! Не могли бы вы отметить его как правильный ответ.
 dk1417 июн. 2013 г., 18:57
Вы пробовали @XmlAccessorType (XmlAccessType.FIELD) перед классом элементов?

Ваш ответ на вопрос