无法通过使用Nokogiri解析XML文件获取NameSpace

时间:2016-05-11 03:15:34

标签: ruby-on-rails xml parsing rss nokogiri

我希望使用Nokogiri解析http://feeds.soundcloud.com/users/soundcloud:users:70685608/sounds.rss等RSS源。尽管我尝试解析文档有多种不同的方法,但我无法获得我想要的数据元素。

例如,如果我想获取itunes:name块,我已尝试过以下内容,但这些都没有返回我想要的内容。

page = HTTParty.get('http://feeds.soundcloud.com/users/soundcloud:users:70685608/sounds.rss')
parse_feed = Nokogiri::HTML(page)

#tried 1
parse_feed.css('channel|itunes:owner')
#tried 2
parse_feed.css('itunes:name')
#tried 3
parse_feed.xpath('//itunes:email')

我只是在我的xpath或css搜索中离开这里以获取我正在寻找的块吗?

1 个答案:

答案 0 :(得分:0)

通过Nokogiri::HTML(page)Nokogiri::XML(page)切换,对我有用。然后,我可以使用xpath来提取itunes:name block:

page = HTTParty.get('http://feeds.soundcloud.com/users/soundcloud:users:70685608/sounds.rss')
parse_feed = Nokogiri::XML(page)
itunes_name = parse_feed.xpath("//itunes:name")
# do stuff