nokogiri version 1.2.3 has been released!
* <http://nokogiri.rubyforge.org/>
* <http://github.com/tenderlove/nokogiri/wikis>
* <http://github.com/tenderlove/nokogiri/tree/master>
* <http://rubyforge.org/mailman/listinfo/nokogiri-talk>
* <http://nokogiri.lighthouseapp.com/projects/19607-nokogiri/overview>
Nokogiri (鋸) is an HTML, XML, SAX, and Reader parser.
Changes:
### 1.2.3 / 2009-03-22
* Bugfixes
* Fixing bug where a node is passed in to Node#new
* Namespace should be assigned on DocumentFragment creation. LH #66
* Nokogiri::XML::NodeSet#dup works GH #10
* Nokogiri::HTML returns an empty Document when given a blank string GH#11
* Adding a child will remove duplicate namespace declarations LH #67
* Builder methods take a hash as a second argument
## FEATURES:
* XPath support for document searching
* CSS3 selector support for document searching
* XML/HTML builder
* Drop in replacement for Hpricot (though not bug for bug)
Nokogiri parses and searches XML/HTML very quickly, and also has
correctly implemented CSS3 selector support as well as XPath support.
Here is a speed test:
* http://gist.github.com/24605
Nokogiri also features an Hpricot compatibility layer to help ease the change
to using correct CSS and XPath.
## SUPPORT:
The Nokogiri mailing list is available here:
* http://rubyforge.org/mailman/listinfo/nokogiri-talk
The bug tracker is available here:
* http://nokogiri.lighthouseapp.com/projects/19607-nokogiri/overview
## SYNOPSIS:
require 'nokogiri'
require 'open-uri'
# Get a Nokogiri::HTML:Document for the page we’re interested in...
doc = Nokogiri::HTML(open('http://www.google.com/search?q=tenderlove'))
# Do funky things with it using Nokogiri::XML::Node methods...
···
####
# Search for nodes by css
doc.css('h3.r a.l').each do |link|
puts link.content
end
####
# Search for nodes by xpath
doc.xpath('//h3/a[@class="l"]').each do |link|
puts link.content
end
####
# Or mix and match.
doc.search('h3.r a.l', '//h3/a[@class="l"]').each do |link|
puts link.content
end
## REQUIREMENTS:
* ruby 1.8 or 1.9
* libxml2
* libxml2-dev
* libxslt
* libxslt-dev
## INSTALL:
* sudo gem install nokogiri
* <http://nokogiri.rubyforge.org/>
* <http://github.com/tenderlove/nokogiri/wikis>
* <http://github.com/tenderlove/nokogiri/tree/master>
* <http://rubyforge.org/mailman/listinfo/nokogiri-talk>
* <http://nokogiri.lighthouseapp.com/projects/19607-nokogiri/overview>
--
Aaron Patterson
http://tenderlovemaking.com/