Это, похоже, не работает "из коробки", потому что конвертер для RSS 2.0 игнорирует (необязательный) элемент источника.
Вы можете написать свой собственный конвертер и установить источник самостоятельно из атрибута источника элемента,Я поместил значение («AP» из вашей ленты) в поле автора здесь:
public class MyConverterForRSS20 extends ConverterForRSS20 {
public MyConverterForRSS20() {
this("rss_2.0");
}
protected MyConverterForRSS20(String type) {
super(type);
}
@Override
protected SyndEntry createSyndEntry(Item item, boolean preserveWireItem) {
SyndEntry syndEntry = super.createSyndEntry(item, preserveWireItem);
Source source = item.getSource();
if (source != null) {
SyndFeed syndFeed = new SyndFeedImpl();
syndFeed.setLink(source.getUrl());
syndFeed.setAuthor(source.getValue());
syndEntry.setSource(syndFeed);
}
return syndEntry;
}
}
К счастью, пользовательский конвертер можно легко подключить к Риму, изменив файл rome.properties
и установив MyConverterForRSS20
вместо com.sun.syndication.feed.synd.impl.ConverterForRSS20
(последняя строка файла):
# Feed Conversor implementation classes
#
Converter.classes=com.sun.syndication.feed.synd.impl.ConverterForAtom10 \
com.sun.syndication.feed.synd.impl.ConverterForAtom03 \
com.sun.syndication.feed.synd.impl.ConverterForRSS090 \
com.sun.syndication.feed.synd.impl.ConverterForRSS091Netscape \
com.sun.syndication.feed.synd.impl.ConverterForRSS091Userland \
com.sun.syndication.feed.synd.impl.ConverterForRSS092 \
com.sun.syndication.feed.synd.impl.ConverterForRSS093 \
com.sun.syndication.feed.synd.impl.ConverterForRSS094 \
com.sun.syndication.feed.synd.impl.ConverterForRSS10 \
MyConverterForRSS20