我試圖解析從Google Data Booksearch API得到的一些XML,並且在嘗試定位特定元素時遇到問題。目前我的代碼如下所示:在Ruby中解析Google Data Booksearch API XML的問題
require 'gdata'
client = GData::Client::BookSearch.new
feed = client.get("http://books.google.com/books/feeds/volumes?q=Foundation").to_xml
books = []
feed.elements.each('entry') do |entry|
book = {
:title => entry.elements['title'].text,
:author => entry.elements['dc:creator'].text,
:book_id => entry.elements['dc:identifier'].text
}
books.push(book)
end
p books
並且所有工作都正常,但我想向書籍散列添加縮略圖URL。與每本書的縮略圖URL的標記看起來像這樣:
<feed>
<entry>
...
<link rel="http://schemas.google.com/books/2008/thumbnail" type="image/x-unknown" href="http://bks6.books.google.com/books?id=ID5P7xbmcO8C&printsec=frontcover&img=1&zoom=5&edge=curl&source=gbs_gdata"/>
...
</entry>
</feed>
我想抓住從這個元素href屬性的內容,我不完全知道如何。有人可以幫我從這裏出去嗎?
嗯,無論什麼原因,這是行不通的,當我嘗試運行它時,出現錯誤。 '/Users/rpowell93/.rvm/rubies/ruby-1.9.3-p0/lib/ruby/1.9.1/rexml/element.rb:538:in'xpath':錯誤的參數個數(1代表0 )(ArgumentError)' – rpowell
我最近對上述答案的編輯應該可行,因爲我這次實際上已經在IRB中對它進行了測試。 :-) – L2G