5

我只是想要没有那些标签的文本。Hrpicot.XML 有什么方法吗?

4

3 回答 3

7

使用 element.inner_text 而不是 #inner_html 它会为您删除它们

于 2010-08-22T19:24:44.313 回答
2
doc.search("*") do |element|
    element.swap element.content if element.kind_of? Hpricot::CData
end
于 2010-08-22T19:31:27.157 回答
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磅重的鳄鱼
恢复职业后“不要问”废除
令人毛骨悚然的裙子窥视者
巴士大小的卫星撞击地球......
“DWTS”演员第一次击中舞厅是
什么导致教练死亡在海洋世界?
是什么导致特洛伊戴维斯宽大拒绝?

于 2011-09-20T18:27:47.700 回答