开发者

How to beautify xml code in rails application

Is there a simple way to print an u开发者_运维问答nformated xml string to screen in a ruby on rails application? Something like a xml beautifier?


Ruby core REXML::Document has pretty printing:

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

indent: An integer. If -1, no indenting will be used; otherwise, the indentation will be twice this number of spaces, and children will be indented an additional amount. For a value of 3, every item will be indented 3 more levels, or 6 more spaces (2 * 3). Defaults to -1

An example:

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

Produces:

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

EDIT: Rails has already REXML loaded, so you only have to produce new document and then write the pretty printed XML to some string which then can be embedded in a <pre> tag.


What about the Nokogiri gem? Here is an example use.

0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜