2011-10-06 97 views
1

我從鏈接到MediaWiki API穿越紅寶石地圖問題

<?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> 

拉動下面的XML和使用xmlSimple讀入一個Ruby的地圖。這我真的想獲得的數據是從圖像的圖像名稱部分,但是當我試圖晃過查詢級別與

 x= result['query']['pages'] 
    puts x 

,我發現了以下錯誤:

in `[]': can't convert String into Integer (TypeError) 

我做錯了什麼?

謝謝, 米

+1

你能不能做一個'p result'看到它的內容,也雖然不如正確的,你可以得到你想要的東西用'圖片= data.scan(/文件:(*)「/)' – derp

+1

如何向我們展示你的所有代碼?結果是一個數組,這就是爲什麼它正在提高,因爲你期待一個哈希 –

+0

我是Ruby的新手,有同樣的問題,生氣 – corpix

回答

1

我用引入nokogiri在其允許的xpath符號遍歷XML樹的端部。 例如

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