Nokogiri XML Builder Newlines

时间:2011-06-30 16:41:39

标签: xml newline nokogiri

Nokogiri XML Builder随机地向输出的XML添加新行。

如何让Nokogiri在每个标签后输出一个新行。

例如,我得到的输出是

<books>
   <book>
      <title>foobar</title><author>Me
      </author>
   <book>
</books>

但我想要

<books>
   <book>
      <title>foobar</title>
      <author>Me</author>
   <book>
</books>

什么是错!!!! ???

2 个答案:

答案 0 :(得分:4)

问题在于你的代码,但是,因为你说“不,我不能。我只需要一个解释。”我们无法帮助你解决它。

这会生成您想要的输出。你需要弄清楚如何使它适用于你的情况:

require 'nokogiri'

builder = Nokogiri::XML::Builder.new do |xml|
  xml.books {
    xml.book {
      xml.title { xml.text 'foobar' }
      xml.author { xml.text 'Me' }
    }
  }
end

puts builder.to_xml
# >> <?xml version="1.0"?>
# >> <books>
# >>   <book>
# >>     <title>foobar</title>
# >>     <author>Me</author>
# >>   </book>
# >> </books>

答案 1 :(得分:0)

这是Nokogiri的jRuby版本的错误。我已经确认它出现在jRuby 1.6.3上,1.5.0.beta.2

尝试更新到最新版本以查看是否可以解决问题,如果不是,您可能只需等待或同时处理它。