How to beautify xml code in rails application

前端 未结 2 1629
旧巷少年郎
旧巷少年郎 2021-02-04 07:24

Is there a simple way to print an unformated xml string to screen in a ruby on rails application? Something like a xml beautifier?

相关标签:
2条回答
  • 2021-02-04 07:29

    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.

    0 讨论(0)
  • 2021-02-04 07:43

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

    0 讨论(0)
提交回复
热议问题