require "rexml/document"
include REXML
source ='<some><nested><xml>value</xml></nested></some>'
doc = Document.new( source )
doc.write( targetstr = "", 2 ) #indents with 2 spaces
puts targetstr
#write записывает все, что принимает << (string), поэтому это также верно: </p>
doc.write( $stdout, 2 )
doc.write( an_open_file, 2 )