对给定视频的 Youtube gdata API 进行正常查询,如下所示:
http://gdata.youtube.com/feeds/api/videos?q=H-x7UumBaFs
返回如下结果:
<?xml version="1.0" encoding="UTF-8"?>
<feed xmlns="http://www.w3.org/2005/Atom" xmlns:media="http://search.yahoo.com/mrss/" xmlns:openSearch="http://a9.com/-/spec/opensearchrss/1.0/" xmlns:yt="http://gdata.youtube.com/schemas/2007">
<!-- data -->
<entry>
<!-- data -->
<gd:rating average="3.2309198" max="5" min="1" numRaters="511" rel="http://schemas.google.com/g/2005#overall"/>
</entry>
</feed>
但是有时 gd:rating 线不存在。
如果存在,我想从该行读取数据。我试图通过以下方式检查:
if node.at_xpath(".//gd:rating/@numRaters")
但这不起作用,给出错误“未定义的命名空间前缀:.//gd:rating/@numRaters”
你知道我如何在读取之前检查 gd:rating 命名空间的存在吗?