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.
Checking XML Well-Formedness (written by Rod Gaither) | ||
---|---|---|
Code | Expected | Actual |
require 'rexml/document' def valid_xml?(xml) begin REXML::Document.new(xml) rescue REXML::ParseException # Return nil if an exception is thrown end end bad_xml = %{ <tasks> <pending> <entry>Grocery Shopping</entry> <done> <entry>Dry Cleaning</entry> </tasks>} valid_xml?(bad_xml) |
nil | nil |
good_xml = %{ <groceries> <bread>Wheat</bread> <bread>Quadrotriticale</bread> </groceries>} doc = valid_xml?(good_xml) doc.root.elements[1] |
<bread> ... </> | <bread> ... </> |
doc = nil assert_nothing_thrown {doc = REXML::Document.new(source_xml)} invalid_xml = %{ <groceries> <bread>Wheat } (valid_xml? invalid_xml) == nil |
false | false |
REXML::Document.new(invalid_xml).write |
<groceries> <bread>Wheat </bread></groceries> |
<groceries> <bread>Wheat </bread></groceries> |