2016-02-08 109 views
0

我發現了幾個問題的名稱問題,但無法讓他們工作。我想要的是得到媒體的網址:縮略圖標籤:XMLPullParser android冒號標籤

<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」);並設置圖像。但是,我注意到,如果條款我沒有得到。我試圖在諸如像可變幾個值:

  • 媒體:縮略圖
  • 媒體
  • 縮略圖

我還設置命名空間意識到:

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

或者:媒體:縮略圖,媒體或縮略圖 – DaViDa

+0

您可以發佈解析器的代碼嗎? –

回答

0

我固定它。我係統列出了它正在解析的開始標籤,它顯示爲:縮略圖。所以我改變了我的IMAGE常量,使其具有「縮略圖」的值。它從來沒有出現在縮略圖子句中,因爲handleText方法只能處理標籤中找到的文本。由於媒體:thumbnail沒有文本只有屬性值我需要處理它在handleStartTag方法。在那裏我可以說,如果當前標籤名稱等於「縮略圖」,則獲取url和setImage的屬性值作爲該值。