# \[ANN\] nokogiri 1.3.1 Released

**URL:** <https://rubytalk.org/t/ann-nokogiri-1-3-1-released/53791>\
**Category:** ruby-talk\
**Created:** [7 June 2009 23:03 UTC](https://rubytalk.org/t/ann-nokogiri-1-3-1-released/53791 "2009-06-07T23:03:08Z")\
**Posts on this page:** 1\
**Page:** 1

<div class="post-metadata">

**Author:** ![Aaron\_Patterson1](https://avatars.discourse-cdn.com/v4/letter/a/e0b2c6/32.png) [@Aaron\_Patterson1](https://rubytalk.org/u/Aaron_Patterson1)\
**Post date:** [7 June 2009 23:03 UTC](https://rubytalk.org/t/ann-nokogiri-1-3-1-released/53791/1 "2009-06-07T23:03:08Z")

</div>

nokogiri version 1.3.1 has been released!

\* \<[http://nokogiri.rubyforge.org/](http://nokogiri.rubyforge.org/)\>  
\* \<[http://github.com/tenderlove/nokogiri/wikis](http://github.com/tenderlove/nokogiri/wikis)\>  
\* \<[http://github.com/tenderlove/nokogiri/tree/master](http://github.com/tenderlove/nokogiri/tree/master)\>  
\* \<[http://rubyforge.org/mailman/listinfo/nokogiri-talk](http://rubyforge.org/mailman/listinfo/nokogiri-talk)\>  
\* \<[http://github.com/tenderlove/nokogiri/issues](http://github.com/tenderlove/nokogiri/issues)\>

Nokogiri (鋸) is an HTML, XML, SAX, and Reader parser. Among Nokogiri's  
many features is the ability to search documents via XPath or CSS3 selectors.

XML is like violence - if it doesn’t solve your problems, you are not using  
enough of it.

## SUPPORT:

The Nokogiri mailing list is available here:

&nbsp;&nbsp;\* [http://rubyforge.org/mailman/listinfo/nokogiri-talk](http://rubyforge.org/mailman/listinfo/nokogiri-talk)

The bug tracker is available here:

&nbsp;&nbsp;\* [http://github.com/tenderlove/nokogiri/issues](http://github.com/tenderlove/nokogiri/issues)

The IRC channel is #nokogiri on freenode.

## SYNOPSIS:

&nbsp;&nbsp;require 'nokogiri'  
&nbsp;&nbsp;require 'open-uri'  
&nbsp;&nbsp;  
&nbsp;&nbsp;# Get a Nokogiri::HTML:Document for the page we’re interested in...

&nbsp;&nbsp;doc = Nokogiri::HTML(open('[http://www.google.com/search?q=tenderlove](http://www.google.com/search?q=tenderlove)'))  
&nbsp;&nbsp;  
&nbsp;&nbsp;# Do funky things with it using Nokogiri::XML::Node methods...

> **···**
>
> ####  
> &nbsp;&nbsp;# Search for nodes by css  
> &nbsp;&nbsp;doc.css('h3.r a.l').each do |link|  
> &nbsp;&nbsp;&nbsp;&nbsp;puts link.content  
> &nbsp;&nbsp;end  
> &nbsp;&nbsp;  
> &nbsp;&nbsp;####  
> &nbsp;&nbsp;# Search for nodes by xpath  
> &nbsp;&nbsp;doc.xpath('//h3/a[@class="l"]').each do |link|  
> &nbsp;&nbsp;&nbsp;&nbsp;puts link.content  
> &nbsp;&nbsp;end  
> &nbsp;&nbsp;  
> &nbsp;&nbsp;####  
> &nbsp;&nbsp;# Or mix and match.  
> &nbsp;&nbsp;doc.search('h3.r a.l', '//h3/a[@class="l"]').each do |link|  
> &nbsp;&nbsp;&nbsp;&nbsp;puts link.content  
> &nbsp;&nbsp;end
> 
> ## REQUIREMENTS:
> 
> \* ruby 1.8 or 1.9  
> \* libxml2  
> \* libxml2-dev  
> \* libxslt  
> \* libxslt-dev
> 
> ## INSTALL:
> 
> \* sudo gem install nokogiri
> 
> Changes:
> 
> ### 1.3.1 / 2009-06-07
> 
> \* Bugfixes
> 
> &nbsp;&nbsp;\* extconf.rb checks for optional RelaxNG and Schema functions  
> &nbsp;&nbsp;\* Namespace nodes are added to the Document node cache
> 
> \* \<[http://nokogiri.rubyforge.org/](http://nokogiri.rubyforge.org/)\>  
> \* \<[http://github.com/tenderlove/nokogiri/wikis](http://github.com/tenderlove/nokogiri/wikis)\>  
> \* \<[http://github.com/tenderlove/nokogiri/tree/master](http://github.com/tenderlove/nokogiri/tree/master)\>  
> \* \<[http://rubyforge.org/mailman/listinfo/nokogiri-talk](http://rubyforge.org/mailman/listinfo/nokogiri-talk)\>  
> \* \<[http://github.com/tenderlove/nokogiri/issues](http://github.com/tenderlove/nokogiri/issues)\>
> 
> --  
> Aaron Patterson  
> [http://tenderlovemaking.com/](http://tenderlovemaking.com/)
