2010-08-22 104 views

回答

6

使用element.inner_text代替#inner_html並刪除他們爲你

+2

你可能會想一個#inner_text.strip擺脫(幾乎可以肯定)多餘的空白。 – Simon 2013-01-28 16:07:57

2
doc.search("*") do |element| 
    element.swap element.content if element.kind_of? Hpricot::CData 
end 
1
doc = Hpricot::XML(open('http://www.cnn.com/.element/ssi/www/auto/2.0/video/xml/most_popular.xml')) 
(doc/:cnn_video/:video).each do |status| 
    ['tease_txt'].each do |el| 
    puts "#{status.at(el).inner_text}" 
    end 
end 

輸出示例(貌似垃圾,但這不是垃圾郵件!):

新裏諾空氣碰撞視頻顯示影響
青少年捕獲800磅重的鱷魚
恢復職業發佈'別問'廢止
名令人毛骨悚然裙偷窺者
巴士大小的衛星撞擊地球THI ...
「DWTS」投命中舞廳首次
在什麼造成的海洋世界教練的死亡?
是什麼導致特洛伊戴維斯寬大否認?

相關問題