2016-06-09 5 views
0

Мой вопрос почти такой же, как в теме, которую я нашел - Unable to read image URL from feed using Rome API кроме 2 условий. Итак, как читать URL изображения:Невозможно прочитать URL-адрес изображения из RSS с помощью Rome API

<item> 
    <title>Dementia in care homes 'more common'</title> 
    <description>Eight out of 10 residents in care homes are now thought to have dementia or severe memory problems, new data shows.</description> 
    <link>http://www.bbc.co.uk/news/health-21579394#sa-ns_mchannel=rss&amp;ns_source=PublicRSS20-sa</link> 
    <guid isPermaLink="false">http://www.bbc.co.uk/news/health-21579394</guid> 
    <pubDate>Tue, 26 Feb 2013 00:28:31 GMT</pubDate> 
    <media:thumbnail width="66" height="49" url="http://news.bbcimg.co.uk/media/images/66064000/jpg/_66064884_c0016428-geriatric_care-spl.jpg"/> 
    <media:thumbnail width="144" height="81" url="http://news.bbcimg.co.uk/media/images/66064000/jpg/_66064885_c0016428-geriatric_care-spl.jpg"/> 
</item> 

Если разметка doen't содержат изображения информации об URL

List<Element> foreignMarkups = (List<Element>) entry.getForeignMarkup(); 
for (Element foreignMarkup : foreignMarkups) { 
    String imgURL = foreignMarkup.getAttribute("url").getValue(); 
    //read width and height 
} 

и entry.getEnclosures() тоже. Кроме того, я посмотрел структуру ввода в режиме отладки, и я не нашел URL-адрес изображения. Я могу видеть только СМИ: namespases уменьшенных в этой структуре

ответ

0

Попробуйте Rome's media module читать эти URLs:

import com.rometools.modules.mediarss.MediaEntryModule; 
import com.rometools.modules.mediarss.types.Thumbnail; 
import com.rometools.rome.feed.module.Module; 
... 
for (Module module : entry.getModules()) { 
    if (module instanceof MediaEntryModule) { 
     MediaEntryModule media = (MediaEntryModule)module; 
     for (Thumbnail thumb : media.getMetadata().getThumbnail()) { 
      System.out.println(thumb.getUrl()); 
     } 
    } 
} 

Вы должны rome-modules в вашем пути к классам для этой работы.