我只想要那些标签外的文本。 Hrpicot.XML有没有这方面的方法?
答案 0 :(得分:6)
使用element.inner_text而不是#inner_html并为您删除它们
答案 1 :(得分:2)
doc.search("*") do |element|
element.swap element.content if element.kind_of? Hpricot::CData
end
答案 2 :(得分: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'演员首次亮相舞厅 什么导致教练死在海洋世界? 什么导致特洛伊戴维斯宽恕否认?