Hpricot删除单个元素

时间:2012-06-25 16:16:42

标签: ruby hpricot

我正在使用Ruby的Hpricot gem解析html。我想从文档中删除一个节点以供其他地方使用,但我找不到办法。

我看到我可以使用Hpricot :: Elements(x = (doc/"div").remove)的实例删除整个元素列表,但我只想删除给定的第一个实例标签

四处寻找,我看到我只是用注释节点或空格(x.inner_html = '')替换元素的内部文本的建议,但这阻止我在其他地方使用该节点。

我该怎么办?

规格:Ruby 1.8.7,Hpricot 0.8.4

1 个答案:

答案 0 :(得分:3)

试试这个!

x = (doc/"div").first
x.parent.children.delete(x) unless x.nil?