2016-03-22 41 views
0

我使用Hpricot gem來分析xml。我能夠獲得標題和pubdate,但它不適用於鏈接。這裏是代碼片段Rails Hpricot gem:無法從xml獲取鏈接內容

items = doc.search("//item").first(6) 
items.each do |item| 
    feed = {} 
    feed[:title] = item.search("//title").text 
    feed[:link] = item.search("//link").text 
    feed[:published_date] = item.search("//pubdate").text 
    feeds << feed 
end 

將所得角度來說,Hpricot要素如下:

#<Hpricot::Elements[{elem <item> "\n\t\t" {elem <title> "openagent.com.au" </title>} "\n\t\t" {emptyelem <link>} "http://blog.iproperty.com.au/2016/03/22/openagent-com-au/" {bogusetag </link>} "\n\t\t" {elem <comments> "http://blog.iproperty.com.au/2016/03/22/openagent-com-au/#comments" </comments>} "\n\t\t" {elem <pubdate> "Mon, 21 Mar 2016 22:43:28 +0000" </pubDate>} "\n\t\t" 

我已粘貼的初始部分,因爲它是這是非常重要的唯一部分。任何人都可以告訴它有什麼解決方案。

回答

0
items = doc.search("//item").first(6) 
items.each do |item| 
    feed = {} 
    feed[:title] = item.search("//title").text 
    feed[:link] = item.search("//link").innerHTML 
    feed[:published_date] = item.search("//pubdate").text 
    feeds << feed 
end 

用於獲取鏈接,我們可以使用innerHTML

+0

它沒有工作。當我做 item.search(「// link」)它給了我這個 # 它的innerHTML將返回空字符串。 –

+0

Hpricot寶石有標籤集請使用適當的標籤請參考此鏈接[鏈接](https://github.com/hpricot/hpricot/blob/master/lib/hpricot/tags.rb) – JohnPaul