Как решить проблему при парсинге xml с помощью Nokogiri?

Всем привет!

Столкнулся с небольшой проблемой при парсинге плейлистов youtube -а с помощью гема "Nokogiri". Пишу на руби, спокойно могу выловить вхождения "entry" "author" и других моментов. Но не выходит отловить ни как тега "gd:feedLink". А еще лучше, поймать в том же теге значение поля"countHint="
def update_video
  url = "some_url"
  xml = Nokogiri::XML(open(url))
  xml.seacrch('entry  gd:feedLink')
end

<entry>
	<id> ......</id>
	<published>2013-02-27T12:22:02.000Z</published>
	<updated>2014-03-14T05:44:24.000Z</updated>

	<title type="text">Разное</title>
	<author>
		<name>...]</name>
		<uri>.......</uri>
 	</author>

	<gd:feedLink rel="......." href="......." countHint="56"/>
	<yt:playlistId>.........</yt:playlistId>
</entry>


Подскажите или дайте ссылку, где можно найти решение для данного вопроса.
  • Вопрос задан
  • 2823 просмотра
Решения вопроса 2
@Vermuth Автор вопроса
Эх, покопался... нашел решение в использование регулярных выражений. Хотелось конечно же решить поставленный вопрос только средствами самого гема Nokogiri.
def self.get_video_count
     url = "..."
     xml = Nokogiri::XML(open(url))
    video_count = xml.to_s.scan(/(countHint=+).(\d{1,3})/)
    return video_count[0][1]
  end
Ответ написан
Комментировать
@Posigrade
типа такого, возвращает массив значений countHint
xml = Nokogiri::XML(open(url))
namespaces = xml.collect_namespaces
xml.xpath("//gd:feedLink/@countHint", namespaces).map{|attr| attr.content}
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы