Указатель NULL
- это тот, который указывает на никуда. Когда вы разыскиваете указатель p
, вы говорите «дайте мне данные в месте, хранящемся в« p ». Когда p
является нулевым указателем, местоположение, хранящееся в p
, является nowhere
, вы говорите «Дайте мне данные в месте« нигде ». Очевидно, он не может этого сделать, поэтому он выбрасывает NULL pointer exception
.
В общем, это потому, что что-то не было правильно инициализировано.
Feedzirra - один из лучших вариантов: http://www.pauldix.net/2009/02/feedzirra-a-ruby-feed-library-built-for-speed .html
Конечно, я предвзят, так как написал это. :)
Googleage показывает некоторые вещи. Разве они не были приемлемы?
require 'simple-rss'
require 'open-uri'
rss = SimpleRSS.parse open('http://slashdot.org/index.rdf')
rss.channel.title # => "Slashdot"
При встрече дрянной подачи можно хотеть использовать HPricot для парсинга канала.
Нормализатор канала похож на него, может быть хороший вариант
Мне нравится использовать niokrigi или scrapi для разбора xml в потоках atom / rss. http://www.rubyinside.com/nokogiri-ruby-html-parser-and-xml-parser-1288.html