что лучший способ состоит в том, чтобы отформатировать строку xml в рубине?

учитывая xml представляют в виде строки как это:

<some><nested><xml>value</xml></nested></some>

что является наилучшим вариантом (использующий рубин) для форматирования его во что-то читаемое как:

<some>
  <nested>
    <xml>value</xml>
  </nested>
</some>
6
задан rubiii 17 March 2010 в 21:05
поделиться

2 ответа

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), так что это тоже подходит:

doc.write( $stdout, 2 )
doc.write( an_open_file, 2 )
9
ответ дан 8 December 2019 в 18:34
поделиться

только что заметил, что builder имеет опцию indent для этого. но, пожалуйста, опубликуйте свои ответы. не каждый, кто хочет это сделать, использует конструктор. кроме того, могут быть более быстрые решения для XML-строк, которые вы не создавали самостоятельно.

4
ответ дан 8 December 2019 в 18:34
поделиться
Другие вопросы по тегам:

Похожие вопросы: