# SAX2Parser, anyone?

**URL:** <https://www.ruby-forum.com/t/sax2parser-anyone/103452>\
**Category:** Ruby\
**Created:** [May 6, 2007, 7:48am UTC](https://www.ruby-forum.com/t/sax2parser-anyone/103452 "2007-05-06T07:48:04Z")\
**Posts on this page:** 4\
**Page:** 1

<div class="post-metadata">

**Author:** ![Krister\_Johnson](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/k/41988e/32.png) [@Krister\_Johnson](https://www.ruby-forum.com/u/Krister_Johnson)\
**Post date:** [May 6, 2007, 7:48am UTC](https://www.ruby-forum.com/t/sax2parser-anyone/103452/1 "2007-05-06T07:48:04Z")

</div>

Hi guys.

I’m trying to mine some info from wikipedia’s xml dump. The code im  
using is as follows:

require ‘rexml/parsers/sax2parser’  
xml =  
REXML::Parsers:SAX2Parser.new(File.new(‘enwiki-20070402-pages-articles-1.xml’)  
)

i = 0  
parser.listen(:characters, %w{title text}){|text| puts text}  
parser.parse

Which is generating the error:  
xmlreap.rb:2: undefined method `new’ for :SAX2Parser:Symbol  
(NoMethodError)

Anyone have any experience with SAX2? Or ruby stream parsing in  
general? What I’m trying to do is pretty simple: grab the title and  
text tag element contents and do something with them.

Thanks,  
Krister Johnson

---

<div class="post-metadata">

**Author:** ![Krister\_Johnson](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/k/41988e/32.png) [@Krister\_Johnson](https://www.ruby-forum.com/u/Krister_Johnson)\
**Post date:** [May 6, 2007, 9:59am UTC](https://www.ruby-forum.com/t/sax2parser-anyone/103452/2 "2007-05-06T09:59:10Z")

</div>

On Sunday 06 May 2007, Krister Johnson wrote:

> i = 0  
> parser.listen(:characters, %w{title text}){|text| puts text}  
> parser.parse
> 
> Which is generating the error:  
> xmlreap.rb:2: undefined method `new’ for :SAX2Parser:Symbol  
> (NoMethodError)

This is a syntax error. You have written  
REXML::Parsers:SAX2Parser.new()  
which, I guess, is interpreted as  
REXML::Parsers(:SAX2Parser.new())

but :SAX2Parser is a symbol, and there is no new method on it …  
You wanted (two ‘:’)  
REXML::Parsers::SAX2Parser.new()

---

<div class="post-metadata">

**Author:** ![Krister\_Johnson](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/k/41988e/32.png) [@Krister\_Johnson](https://www.ruby-forum.com/u/Krister_Johnson)\
**Post date:** [May 6, 2007, 9:12am UTC](https://www.ruby-forum.com/t/sax2parser-anyone/103452/3 "2007-05-06T09:12:07Z")

</div>

Krister Johnson wrote:

> i = 0  
> parser.listen(:characters, %w{title text}){|text| puts text}  
> parser.parse
> 
> Which is generating the error:  
> xmlreap.rb:2: undefined method `new’ for :SAX2Parser:Symbol (NoMethodError)
> 
> Anyone have any experience with SAX2? Or ruby stream parsing in  
> general? What I’m trying to do is pretty simple: grab the title and  
> text tag element contents and do something with them.

I may have something useful here:

[http://www.jamesbritt.com/content](http://www.jamesbritt.com/content)

---

<div class="post-metadata">

**Author:** ![Krister\_Johnson](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/k/41988e/32.png) [@Krister\_Johnson](https://www.ruby-forum.com/u/Krister_Johnson)\
**Post date:** [May 6, 2007, 10:41am UTC](https://www.ruby-forum.com/t/sax2parser-anyone/103452/4 "2007-05-06T10:41:17Z")

</div>

oh no. that really was it. (slaps forehead)

thanks.

krister
