Skip to content
alkema edited this page Sep 12, 2010 · 22 revisions

Welcome to the nokogiri wiki!

Learn how to Generate HTML.

Here is how to parse HTML:


require 'nokogiri'

doc = Nokogiri::HTML.parse(<<-eohtml)


Hello World

This is an awesome document

I am a paragraph I am a link

eohtml

####

  1. Search for nodes by css
    doc.css(‘p > a’).each do |a_tag|
    puts a_tag.content
    end

####

  1. Search for nodes by xpath
    doc.xpath(‘//p/a’).each do |a_tag|
    puts a_tag.content
    end

####

  1. Or mix and match.
    doc.search(‘//p/a’, ‘p > a’).each do |a_tag|
    puts a_tag.content
    end

###

  1. Find attributes and their values
    doc.search(‘a’).first.attributes[‘href’]