# Nokogiri 1.2.3 Released

**URL:** <https://www.ruby-forum.com/t/nokogiri-1-2-3-released/163607>\
**Category:** Ruby\
**Created:** [March 23, 2009, 4:55am UTC](https://www.ruby-forum.com/t/nokogiri-1-2-3-released/163607 "2009-03-23T04:55:24Z")\
**Posts on this page:** 7\
**Page:** 1

<div class="post-metadata">

**Author:** ![aaronpowell](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/a/7bcc69/32.png) [@aaronpowell](https://www.ruby-forum.com/u/aaronpowell)\
**Post date:** [March 23, 2009, 4:55am UTC](https://www.ruby-forum.com/t/nokogiri-1-2-3-released/163607/1 "2009-03-23T04:55:24Z")

</div>

nokogiri version 1.2.3 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://nokogiri.lighthouseapp.com/projects/19607-nokogiri/overview](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

## 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:

- [Result · GitHub](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](http://rubyforge.org/mailman/listinfo/nokogiri-talk)

The bug tracker is available here:

- [Lighthouse - Beautifully Simple Issue Tracking](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(‘[tenderlove - Google Search](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://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://nokogiri.lighthouseapp.com/projects/19607-nokogiri/overview](http://nokogiri.lighthouseapp.com/projects/19607-nokogiri/overview)

---

<div class="post-metadata">

**Author:** ![aaronpowell](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/a/7bcc69/32.png) [@aaronpowell](https://www.ruby-forum.com/u/aaronpowell)\
**Post date:** [March 23, 2009, 10:40am UTC](https://www.ruby-forum.com/t/nokogiri-1-2-3-released/163607/2 "2009-03-23T10:40:36Z")

</div>

When I do “gem install nokogiri” I get:

Building native extensions. This could take a while…  
ERROR: Error installing nokogiri:  
ERROR: Failed to build gem native extension.

/usr/bin/ruby extconf.rb install nokogiri  
checking for #include \<iconv.h\>  
… yes  
checking for #include \<libxml/parser.h\>  
… no  
libxml2 is missing. try ‘port install libxml2’ or ‘yum install libxml2’

but when I try and do “yum install libxml2” I get:

Package libxml2-2.7.3-1.fc10.i386 already installed and latest version

How can I fix this?

Thanks,

Phil.

Aaron P. wrote:

> Changes:
> 
> - Builder methods take a hash as a second argument
> 
> end  
> puts link.content
> 
> ## INSTALL:
> 
> - sudo gem install nokogiri
> 
> - [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://nokogiri.lighthouseapp.com/projects/19607-nokogiri/overview](http://nokogiri.lighthouseapp.com/projects/19607-nokogiri/overview)

–  
Philip R.

GPO Box 3411  
Sydney NSW 2001  
Australia  
E-mail: removed\_email\_address@domain.invalid

---

<div class="post-metadata">

**Author:** ![aaronpowell](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/a/7bcc69/32.png) [@aaronpowell](https://www.ruby-forum.com/u/aaronpowell)\
**Post date:** [March 23, 2009, 10:44am UTC](https://www.ruby-forum.com/t/nokogiri-1-2-3-released/163607/3 "2009-03-23T10:44:44Z")

</div>

On Mon, Mar 23, 2009 at 9:36 AM, Philip R. [removed\_email\_address@domain.invalid](mailto:removed_email_address@domain.invalid)  
wrote:

> … no  
> libxml2 is missing. try ‘port install libxml2’ or ‘yum install libxml2’
> 
> but when I try and do “yum install libxml2” I get:

yum install libxml2-devel ?

(yay redhat)

---

<div class="post-metadata">

**Author:** ![aaronpowell](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/a/7bcc69/32.png) [@aaronpowell](https://www.ruby-forum.com/u/aaronpowell)\
**Post date:** [March 23, 2009, 11:45am UTC](https://www.ruby-forum.com/t/nokogiri-1-2-3-released/163607/4 "2009-03-23T11:45:15Z")

</div>

Dick,

Dick D. wrote:

> > checking for #include \<libxml/parser.h\>  
> > … no  
> > libxml2 is missing. try ‘port install libxml2’ or ‘yum install libxml2’
> > 
> > but when I try and do “yum install libxml2” I get:
> 
> yum install libxml2-devel ?

Yep, had to do libxslt-devel as well but looks good - Thanks!

Phil.

> (yay redhat)

–  
Philip R.

GPO Box 3411  
Sydney NSW 2001  
Australia  
E-mail: removed\_email\_address@domain.invalid

---

<div class="post-metadata">

**Author:** ![aaronpowell](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/a/7bcc69/32.png) [@aaronpowell](https://www.ruby-forum.com/u/aaronpowell)\
**Post date:** [March 23, 2009, 10:49pm UTC](https://www.ruby-forum.com/t/nokogiri-1-2-3-released/163607/5 "2009-03-23T22:49:32Z")

</div>

On Tue, Mar 24, 2009 at 04:29:47AM +0900, ara.t.howard wrote:

> On Mar 22, 2009, at 9:51 PM, Aaron P. wrote:
> 
> > - Builder methods take a hash as a second argument
> 
> can builder generate nodes like yet?

It’s possible, just not easy. 😉

I’m working on it.

---

<div class="post-metadata">

**Author:** ![aaronpowell](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/a/7bcc69/32.png) [@aaronpowell](https://www.ruby-forum.com/u/aaronpowell)\
**Post date:** [March 23, 2009, 8:34pm UTC](https://www.ruby-forum.com/t/nokogiri-1-2-3-released/163607/6 "2009-03-23T20:34:04Z")

</div>

On Mar 22, 2009, at 9:51 PM, Aaron P. wrote:

> - Builder methods take a hash as a second argument

can builder generate nodes like yet?

a @ [http://codeforpeople.com/](http://codeforpeople.com/)

---

<div class="post-metadata">

**Author:** ![aaronpowell](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/a/7bcc69/32.png) [@aaronpowell](https://www.ruby-forum.com/u/aaronpowell)\
**Post date:** [March 23, 2009, 11:44pm UTC](https://www.ruby-forum.com/t/nokogiri-1-2-3-released/163607/7 "2009-03-23T23:44:02Z")

</div>

On Mar 23, 2009, at 3:42 PM, Aaron P. wrote:

> It’s possible, just not easy. 😉
> 
> I’m working on it.

have a look at this

[http://codeforpeople.rubyforge.org/svn/tagz/trunk/](http://codeforpeople.rubyforge.org/svn/tagz/trunk/)

it avoids completes the method missing issues, allows mixing in, and  
even supports conditional escaping for factoring out xml/html partials.

i’m using nokogiri for reading now, but tagz for writing

cheers.

a @ [http://codeforpeople.com/](http://codeforpeople.com/)
