2016-02-08 5 views
0

Я нашел несколько вопросов по названию вопроса, но не могу заставить их работать. То, что я хочу, чтобы получить URL СМИ: тег миниатюры:XML-теги обоев для Androidroid

<media:thumbnail width="144" height="81" url="http://c.files.bbci.co.uk/6013/production/_88159542_3e6f2bc3-16a3-407d-9e07-62bae1fa755e.jpg"/> 

Над примером такого тега

private void handleText(String text) { 
      String xmlText = text; 
      if (currentEntry != null && currentTag != null) { 
       if (currentTag.equals(TITLE)) { 
        currentEntry.setTitle(xmlText); 
       } else if (currentTag.equals(DESC)) { 
        currentEntry.setDescription(xmlText); 
       } else if (currentTag.equals(LINK)) { 
        currentEntry.setLink(xmlText); 
       } else if (currentTag.equals(IMAGE)) { 
        currentEntry.setImage("test"); 
       } 
      } 
     } 

Я пытался несколько вещей, как:

xpp.getAttributeValue (нуль , "url"); и установите изображение как таковое. Тем не менее, я заметил, что я даже не вхожу в это, если оговорка. Я попробовал несколько значений на переменную IMAGE как:

  • СМИ: эскиз
  • СМИ
  • уменьшенных

Я также множество имен известно:

factory.setNamespaceAware(true); 

Что я делать не так?

анализатор:

XmlPullParser xpp; 
int eventType; 

protected List<Entry> doInBackground(String... string) { 
    try { 

     XmlPullParserFactory factory = XmlPullParserFactory.newInstance(); 
     factory.setNamespaceAware(true); 
     xpp = factory.newPullParser(); 
     xpp.setInput(getInputStream(new URL("http://feeds.bbci.co.uk/news/technology/rss.xml?edition=uk")), "UTF_8"); 

     eventType = xpp.getEventType(); 
     while (eventType != XmlPullParser.END_DOCUMENT) { 
      if (eventType == XmlPullParser.START_TAG) { 
       handleStartTag(xpp.getName()); 
      } else if (eventType == XmlPullParser.END_TAG) { 
       currentTag = null; 
      } else if (eventType == XmlPullParser.TEXT) { 
       handleText(xpp.getText()); 
      } 
      eventType = xpp.next(); 
     } 

    } catch (Resources.NotFoundException e) { 
     Log.d(LOGTAG, e.getMessage()); 
    } catch (XmlPullParserException e) { 
     Log.d(LOGTAG, e.getMessage()); 
    } catch (IOException e) { 
     Log.d(LOGTAG, e.getMessage()); 
    } 

    return entries; 
} 
+0

Какое значение у вас "IMAGE"? –

+0

Либо: media: thumbnail, media или thumbnail – DaViDa

+0

Можете ли вы опубликовать код вашего синтаксического анализатора? –

ответ

0

Я установил ее. Я систематировал начальные теги, которые он разбора, и это проявилось как: thumbnail. Поэтому я изменил константу IMAGE на значение «thumbnail». Он никогда не приходил в предложение thumbnail, так как метод handleText обрабатывает только найденный текст в теге. Поскольку media: thumbnail не имеет текстовых атрибутов со значениями, которые мне нужны для обработки в методе handleStartTag. Там я могу сказать, что если текущее имя тега равно «thumbnail», значение атрибута url и setImage будет равно значению этого значения.