From: Mark Thomas Date: 2008-12-13T00:18:01+09:00 Subject: Re: Problem parseing a XML - PullParser If I understand correctly, you want to keep an IO stream open, and react to certain elements as they appear? That's a textbook SAX case, not pull-parsing. Register a SAX handler for your SChange events, and point your IO stream at it. I'd use libxml-ruby, but REXML has a stream parser than is SAX-like. You'd use it something like this (untested) require "rexml/document" require "rexml/streamlistener" include REXML class Handler include StreamListener def tag_start name, attrs if name=="SChange" #do something puts attrs end end end Document.parse_stream(your_io_stream, Handler.new) -- Mark.