Как украсить xml-код в приложении rails

Есть ли простой способ распечатать неотформатированную строку xml для отображения в рубине на приложении rails? Что-то вроде xml beautifier?

Ответы

Ответ 1

Ruby core REXML:: Документ имеет довольно печатную версию:

REXML::Document#write( output=$stdout, indent=-1, transitive=false, ie_hack=false )

indent: целое число. Если -1, нет будет использоваться отступы; в противном случае отступ будет вдвое больше пространств, а дети будут с отступом добавляется дополнительная сумма. Для значение 3, каждый элемент будет отступом еще 3 уровня, или еще 6 пространства (2 * 3). По умолчанию -1

Пример:

require "rexml/document"

doc = REXML::Document.new "<a><b><c>TExt</c><d /></b><b><d/></b></a>"
out = ""
doc.write(out, 1)
puts out

Производит:

<a>
 <b>
  <c>
   TExt
  </c>
  <d/>
 </b>
 <b>
  <d/>
 </b>
</a>

EDIT: Rails уже загружен REXML, поэтому вам нужно только создать новый документ, а затем записать довольно напечатанный XML в некоторую строку, которая затем может быть встроена в <pre> тег.