2010-03-17 9 views

Respuesta

9
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 

El #write escribe a cualquier cosa que toma < < (cadena), por lo que esto es válido también:

doc.write($stdout, 2) 
doc.write(an_open_file, 2) 
4

simplemente notado que builder tiene una opción indent para hacer esto . pero por favor publique sus respuestas también. no todos los que quieren hacer esto usan el constructor. también puede haber soluciones más rápidas para las cadenas xml que usted mismo no haya creado.

Cuestiones relacionadas