Удалены узлы с Nokogiri, но теперь у меня есть пустые строки в моем XML - PullRequest
0 голосов
/ 03 сентября 2011

Как мне сжать мой xml, чтобы не было пустых строк после удаления некоторых узлов из моего xml документа?

1 Ответ

1 голос
/ 06 сентября 2011

Нокогири дает вам возможность поиграть с текстовыми узлами, то есть с содержимым между узлами:

require 'nokogiri'

doc = Nokogiri::HTML(
'<p>this
    <b>text to remove</b>
    text
</p>')
doc.at('b').remove
doc.at('p').text = doc.at('p').text.gsub(/\n\s*\n/, "\n")

puts doc.text

Возврат каретки, встроенный в HTML, генерирующий отдельные строки в файле, фактически находится во промежуточных текстовых узлах. Таким образом, после удаления тега вы получите символы «\n», разделенные пробелами, в текстовых узлах. Быстрый gsub может очистить их.

...