次のようなxml文字列が与えられます:
<some><nested><xml>value</xml></nested></some>
次のように読み取り可能な形式にするための(Rubyを使用した)最良のオプションは何ですか?
<some>
<nested>
<xml>value</xml>
</nested>
</some>
ここで答えを見つけました: ルビーでxml文字列をフォーマットする最良の方法は何ですか? 、これは本当に役に立ちます。ただし、xmlは次のようにフォーマットされます:
<some>
<nested>
<xml>
value
</xml>
</nested>
</some>
私のxml文字列は長さが少し大きいので。したがって、この形式では読み取ることができません。
前もって感謝します!
REXML :: Formatters :: Pretty フォーマッタを使用します:
require "rexml/document"
source = '<some><nested><xml>value</xml></nested></some>'
doc = REXML::Document.new(source)
formatter = REXML::Formatters::Pretty.new
# Compact uses as little whitespace as possible
formatter.compact = true
formatter.write(doc, $stdout)
のこぎりはどうですか?
require 'nokogiri'
source = '<some><nested><xml>value</xml></nested></some>'
doc = Nokogiri::XML source
puts doc.to_xml
# <?xml version=\"1.0\"?>\n<some>\n <nested>\n <xml>value</xml>\n </nested>\n</some>\n