Страницы

Поиск по вопросам

четверг, 26 декабря 2019 г.

Парсинг повторяющихся тегов используя Android Sax Parser

#java #android #xml #xmlparser #sax


Есть Xml Sax парсер, парсит новостную ленту.

public List parse() {
    final RSSItem currentMessage = new RSSItem();
    final RootElement root = new RootElement(NAMESPACE, "rss");
    final List messages = new ArrayList();
    Element channel = root.getChild(NAMESPACE, "channel");

    Element item = channel.getChild(NAMESPACE, ITEM);

    item.setEndElementListener(new EndElementListener() {
        public void end() {
            messages.add(currentMessage.copy());
        }
    });


    item.getChild(NAMESPACE, TITLE).setEndTextElementListener(new EndTextElementListener() {
        public void end(String body) {
            currentMessage.setTitle(body);
        }
    });
    item.getChild(NAMESPACE, LINK).setEndTextElementListener(new EndTextElementListener() {
        public void end(String body) {
            currentMessage.setLink(body);
        }
    });
    item.getChild(NAMESPACE, DESCRIPTION).setEndTextElementListener(new EndTextElementListener() {
        public void end(String body) {
            currentMessage.setDescription(body);
        }
    });
    item.getChild("http://news.yandex.ru", "full-text").setEndTextElementListener(new
EndTextElementListener() {
        public void end(String body) {
            currentMessage.setContent(body);
        }
    });   
   item.getChild(NAMESPACE, CATEGORY).setEndTextElementListener(new EndTextElementListener() {
        public void end(String body) {
            currentMessage.setCategory(body);
        }
    });


Тег "item" парсит с конца и по этому выводит только одно значение (Some Text7). Нужно
как-то переписать код:

item.getChild(NAMESPACE, CATEGORY).setEndTextElementListener(new     EndTextElementListener() {
        public void end(String body) {
            currentMessage.setCategory(body);
        }
    });


.



  Some text
  
     Some title
     
     
     
     
     
     
     
  





Как получить данные из всех повторяющихся тегов "category"? Новостная лента полностью.
    


Ответы

Ответ 1



Решил проблему используя XmlPullParser

Комментариев нет:

Отправить комментарий