This page contains automated test results for code from O'Reilly's Ruby Cookbook. If this code looks interesting or useful, you might want to buy the whole book.
Extracting Data While Parsing a Document (written by Rod Gaither) | ||
---|---|---|
Code | Expected | Actual |
event_xml = %{ <events> <clean system="dev" start="01:35" end="01:55" area="build" error="1" /> <backup system="prod" start="02:00" end="02:35" size="2300134" error="0" /> <backup system="dev" start="02:00" end="02:01" size="0" error="2" /> <backup system="test" start="02:00" end="02:47" size="327450" error="0" /> </events>} require 'rexml/document' require 'rexml/streamlistener' class ErrorListener include REXML::StreamListener def tag_start(name, attrs) if attrs["error"] != nil and attrs["error"] != "0" puts %{Event "#{name}" failed for system "#{attrs["system"]}" } + %{with code #{attrs["error"]}} end end end REXML::Document.parse_stream(event_xml, ErrorListener.new) |
Event "clean" failed for system "dev" with code 1 Event "backup" failed for system "dev" with code 2 |
Event "clean" failed for system "dev" with code 1 Event "backup" failed for system "dev" with code 2 |