如何删除 使用 Hpricot 从 XML 中的文本周围标记?

发布于 2024-09-15 20:33:33 字数 42 浏览 7 评论 0原文

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

i just want the text out of there with out those tags. Does Hrpicot.XML have any methods for this?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

空城之時有危險 2024-09-22 20:33:33

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

use element.inner_text instead of #inner_html and it removes them for you

も让我眼熟你 2024-09-22 20:33:33
doc.search("*") do |element|
    element.swap element.content if element.kind_of? Hpricot::CData
end
doc.search("*") do |element|
    element.swap element.content if element.kind_of? Hpricot::CData
end
近箐 2024-09-22 20:33:33
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”演员首次进入舞厅
海洋世界培训师死亡的原因是什么?
是什么导致特洛伊·戴维斯特赦被拒绝?

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

Example output (looks spammy but this is not spam!):

New Reno air crash video shows impact
Teen catches 800-pound gator
Resuming careers post 'don't ask' repeal
Creepy skirt peepers
Bus-sized satellite to hit Earth thi ...
'DWTS' cast hits ballroom for first time
What caused trainer's death at SeaWorld?
What led to Troy Davis clemency denial?

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文