也许这很挑剔,但我不得不问。
我正在使用 Nokogiri 解析 XML,删除某些标签,并用结果覆盖原始文件。使用.remove
会在 XML 中留下空白行。我目前正在使用正则表达式来摆脱空白行。我应该使用一些内置的 Nokogiri 方法吗?
这是我所拥有的:
require 'Nokogiri'
io_path = "/path/to/metadata.xml"
io = File.read(io_path)
document = Nokogiri::XML(io)
document.xpath('//artwork_files', '//tracks', '//previews').remove
# write to file and remove blank lines with a regular expression
File.open(io_path, 'w') do |x|
x << document.to_s.gsub(/\n\s+\n/, "\n")
end