How do I remove a node with Nokogiri?
I prefer CSS over XPath, as it's usually much more readable. Switching to CSS:
require 'nokogiri'doc = Nokogiri::HTML('<html><body><img src="foo"><img src="bar"></body></html>')
After parsing the document looks like:
doc.to_html# => "<!DOCTYPE html PUBLIC \"-//W3C//DTD HTML 4.0 Transitional//EN\" \"http://www.w3.org/TR/REC-html40/loose.dtd\">\n<html><body>\n<img src=\"foo\"><img src=\"bar\">\n</body></html>\n"
Removing the <img>
tags:
doc.search('img').each do |src| src.removeend
Results in:
doc.to_html# => "<!DOCTYPE html PUBLIC \"-//W3C//DTD HTML 4.0 Transitional//EN\" \"http://www.w3.org/TR/REC-html40/loose.dtd\">\n<html><body></body></html>\n"