Я посмотрел на API более подробно.API предоставляет плагины для переопределения анализа https://rometools.github.io/rome/RssAndAtOMUtilitiEsROMEV0.5AndAboveTutorialsAndArticles/RssAndAtOMUtilitiEsROMEPluginsMechanism.html
Я написал класс, который расширяет RSS20Parser, реализует WireFeedParser и переопределяет метод parseItem
@Override
public Item parseItem(Element rssRoot, Element eItem, Locale locale) {
Item item = super.parseItem(rssRoot, eItem, locale);
Element imageElement = eItem.getChild("image", getRSSNamespace());
if (imageElement != null) {
String imageUrl = imageElement.getText();
Element urlElement = imageElement.getChild("url");
if(urlElement != null)
{
imageUrl = urlElement.getText();
}
Enclosure e = new Enclosure();
e.setType("image");
e.setUrl(imageUrl);
item.getEnclosures().add(e);
}
return item;
}
Теперь в SyndFeed откройте список вложений и высможет найти URL изображения
List<SyndEntry> entries = feed.getEntries();
for (SyndEntry entry : entries) {
...
...
List<SyndEnclosure> enclosures = entry.getEnclosures();
if(enclosures!=null) {
for(SyndEnclosure enclosure : enclosures) {
if(enclosure.getType()!=null && enclosure.getType().equals("image")){
System.out.println("image URL : "+enclosure.getUrl());
}
}
}
}
и создать файл rome.properties, который доступен в classpath со следующей записью
WireFeedParser.classes=your.package.name.CustomRomeRssParser