2016-01-26 2 views
0

Я пытаюсь проанализировать некоторые XML-объекты (Android) и использовать для этого Simple XML-библиотеку. Я могу разобрать некоторые элементы с субэлементами или списками в нем, но когда элемент имеет несколько элементов подгруппы с таким же именем тега, то я получаю сообщение об ошибке:Как разобрать объект из элемента с несколькими одинаковыми иными подэлементами. (SimpleXML Android)

Element «Item» уже используются с ....

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

<Channel> 
    <News> 
     <Item kind="dunno"> 
       //An string with some info 
     </Item> 
     <Item kind="anotherOne"> 
       //An string with some info 
     </Item> 
     <Item kind="Pfff"> 
       //An string with some info 
     </Item> 
    </News> 
</Channel> 

I судимое следующее:

@Root(name = "Channel") 
public class Channel 
    { 
     @Elementlist(inline = true) 
     private List<News> news; 
    } 


@Root(name = "News") 
public class News 
    { 
     @Element(name = item) 
     private String item; 
    } 

Но это не работает becouse пункта alrealy используется. Я попытался сделать его списком, но не работает. Я попробовал еще несколько вещей, но, как я уже сказал, я не могу это сделать.

Я хочу, чтобы у меня есть объект Chanel, который содержит один или несколько объектов новостей, содержащий один или несколько элементов. Иногда есть только 1 предмет, иногда их больше.

ответ

0

Я нашел решение. Insead от

@Root(name = "Channel") 
public class Channel 
{ 
    @Elementlist(inline = true) 
    private List<News> news; 
} 

Мне нужно сделать понимание.

@Root(name = "Channel") 
public class Channel 
{ 
    @Elementlist(name="News") 
    private List<String> news; 
} 

Библиотека автоматически распознает элементы и добавляет их в список. Весь новостной класс больше не нужен.

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