遍历ruby地图问题

时间:2011-10-06 23:38:32

标签: ruby

我从mediawiki API中提取以下XML

 <?xml version="1.0"?>
 <api>
      <query>
            <pages>
                 <page pageid="309311" ns="0" title="Chenonetta     jubata">
                 <images>
                     <im ns="6" title="File:Australian Wood Duck.jpg" />
                     <im ns="6" title="File:Australian Wood Duck Female.JPG" />
                     <im ns="6" title="File:Australian Wood Duck Male.JPG" />  
                     ...
                 </images>
                 </page>
            </pages>
     </query>
  </api>

使用xmlSimple将其读入Ruby地图。我真正想要获取的数据是图像部分中的图像名称,但是当我尝试使用

时超过查询级别
     x=  result['query']['pages']
     puts x  

我收到以下错误:

   in `[]': can't convert String into Integer (TypeError)
我做错了什么?

谢谢, 米

1 个答案:

答案 0 :(得分:1)

我最后使用了Nokogiri,它允许xpath表示法遍历xml树。 例如

 licenseinfo = results3.xpath("//api/query/pages/page/categories/cl/@title")