无法使用 Nokogiri 从解析 XML 文件中获取命名空间
Can't Get NameSpace from Parsing XML File Using Nokogiri
我希望使用 Nokogiri 解析 RSS 提要,例如 http://feeds.soundcloud.com/users/soundcloud:users:70685608/sounds.rss。然而,尽管我尝试了多种不同的方法来解析文档,但我无法获得我想要的数据元素。
例如,如果我想获得 itunes:name 块,我尝试了下面的方法,其中 none 返回了我想要的。
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 搜索以获得我正在寻找的块?
通过将 Nokogiri::HTML(page)
切换为 Nokogiri::XML(page)
对我有用。然后,我可以使用 xpath 提取 itunes:name 块:
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
我希望使用 Nokogiri 解析 RSS 提要,例如 http://feeds.soundcloud.com/users/soundcloud:users:70685608/sounds.rss。然而,尽管我尝试了多种不同的方法来解析文档,但我无法获得我想要的数据元素。
例如,如果我想获得 itunes:name 块,我尝试了下面的方法,其中 none 返回了我想要的。
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 搜索以获得我正在寻找的块?
通过将 Nokogiri::HTML(page)
切换为 Nokogiri::XML(page)
对我有用。然后,我可以使用 xpath 提取 itunes:name 块:
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