Nokogiri XML Builder Newlines - PullRequest
0 голосов
/ 30 июня 2011

Nokogiri XML Builder случайным образом добавляет новые строки в выводимый XML.

Как я могу заставить Нокогири выводить новую строку после каждого тега.

Например, вывод, который я получаю,

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

но я хочу

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

ЧТО НЕПРАВИЛЬНО !!!! ???

Ответы [ 2 ]

4 голосов
/ 03 июля 2011

Проблема в вашем коде, но, поскольку вы сказали: «Нет, я не могу. Мне просто нужно объяснение».мы не можем помочь вам исправить это.

Это создает желаемый результат.Вам нужно будет выяснить, как применить это в вашей ситуации:

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>
0 голосов
/ 03 августа 2011

Это ошибка в версии Nokogiri для jRuby.Я подтвердил, что он присутствует на jRuby 1.6.3 с 1.5.0.beta.2

Попробуйте обновить его до последней версии, чтобы посмотреть, решит ли это проблему, если нет, то вам, скорее всего, придется простоподождите или разберитесь с этим.

...