With 2.3 coming up I decided to use the RestfulService.php from the 2.3 branch instead of the current stable one, and as it is pretty self contained it seems to work fine on 2.2.3.
The problem I had was with the difference in format between RSS feeds of different versions: RSS 1.0 places the <item> tags outside the <channel>, while RSS 2.0 places them outside. The end result of this is that you need to call getValues slightly differently, here's a snippet of code that I wrote for a recent site:
function Items($limit = 3) {
if(!$this->Link) return 0;
$feed = new RestfulService($this->Link);
$feedXML = $feed->request()->getBody();
// Extract items from feed
if($this->Type == 'RSS2') {
$result = $feed->getValues($feedXML, 'channel', 'item');
} elseif($this->Type == 'RSS1') {
$result = $feed->getValues($feedXML, 'item');
}
// Return items up to limit
return $result->getRange(0,$limit);
}
Hope that helps.
BTW I've posted a patch to Trac that re-enables the response caching as I couldn't live without it for this site. Not sure whether it's good enough for inclusion in trunk though.