Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

sax parsing

0 views
Skip to first unread message

Shweta Kadam

unread,
May 7, 2008, 5:55:25 AM5/7/08
to
hi all,
Has anybody used sax parsing in ruby
--
Posted via http://www.ruby-forum.com/.

Robert Klemme

unread,
May 7, 2008, 7:00:33 AM5/7/08
to
2008/5/7 Shweta Kadam <shweta...@persistent.co.in>:

> Has anybody used sax parsing in ruby

Yes.

--
use.inject do |as, often| as.you_can - without end

Shweta Kadam

unread,
May 7, 2008, 7:07:09 AM5/7/08
to
hi,
I'm using sax parsing in my code but confused about how to add
listener's to it and can you tell me in detail how to write sax code in
ruby as well as listener's.

Robert Dober

unread,
May 7, 2008, 1:07:54 PM5/7/08
to
On Wed, May 7, 2008 at 1:07 PM, Shweta Kadam
<shweta...@persistent.co.in> wrote:
#
# There are more ways, but I like most to use blocks
# If you prefer to implement listeners as objects the documentation below
# should give you some sound hints too, I just never felt the need for it.
#
require 'rexml/parsers/sax2parser'

parser = REXML::Parsers::SAX2Parser.new( DATA.read )

parser.listen :start_element do
|uri, locname, qname, atts|

puts "I am in start_element and was called with " <<
[uri, locname, qname, atts].inspect
end

parser.listen :characters do
| text |
puts %<I am in characters and was called with "#{text}">
end
#
# For all type of listeners see here:
# http://www.ruby-doc.org/core/classes/REXML/Parsers/SAX2Parser.html#M005185
# and for the paramters they take have a look at the corresponding method here:
# http://www.ruby-doc.org/core/classes/REXML/SAX2Listener.html
parser.parse

__END__
<root>
<node1>
<node2 att1="www">
content
</node2>
</node1>
</root>


HTH
Robert

--
http://ruby-smalltalk.blogspot.com/

---
Whereof one cannot speak, thereof one must be silent.
Ludwig Wittgenstein

0 new messages