我正在尝试解析Youtube Gdata以查看是否存在给定ID的视频。但是它没有常规标记,而是有命名空间。在链接http://gdata.youtube.com/feeds/api/videos?q=KgfdlZuVz7I中,有一个标记:
<openSearch:totalResults>1</openSearch:totalResults>
有一个名为openSearch的命名空间:
xmlns:openSearch='http://a9.com/-/spec/opensearchrss/1.0/'
但是我不知道如何在Nokogiri和Ruby中处理它。
以下是部分代码:
xmlfeed = Nokogiri::HTML(open("http://gdata.youtube.com/feeds/api/videos?q=#{video_id}"))
xmlfeed.at_xpath("openSearch:totalResults")
它会出现错误:
Undefined namespace prefix: openSearch:totalResults
xmlfeed.at_xpath("//totalResults")
不起作用,但xmlfeed.at_xpath("//totalresults")
起作用了。我写了puts xmlfeed
到控制台后发现它是区分大小写的 :) 请更新答案以便我接受它。 - Иван Бишевац