Nokogiri で任意の node を削除する
やりたかったので覚書。
#remove
メソッドで自身を削除することが出来ます。
コード
require "nokogiri" html = <<EOS <body> <div> <a></a> </div> <br> <a> <br> </a> <br> <div></div> <br> </body> EOS doc = Nokogiri::HTML.parse(html).at(:body) # 最初に見つかった <div> を消す doc.at(:div).remove puts doc puts "-" * 20 # 全ての <br> を消す doc.search(:br).map &:remove puts doc
出力
<body> <br> <a> <br> </a> <br> <div></div> <br> </body> -------------------- <body> <a> </a> <div></div> </body>