编辑并保存相同的xml文件ruby

时间:2014-07-28 09:34:43

标签: ruby xml

我编写了一个删除xml文件注释的代码,如何将其另外保存为xml文件。目前我将xml文件作为文本文件读取。当我在控制台上运行此代码时,它会输出xml内容,但是在newexample.xml上它打印出来:**#<File:0x00000002b8be40>**如何将其打印为xml文件?请帮忙

编辑前的

xml

 <!--
    <product>
      <name>PC</name>
      <price>R100</price>
    </product>
   -->

输出:编辑后的xml

       <product>
          <name>PC</name>
          <price>R100</price>
        </product>

这是代码

file = File.open('C:/ruby/example.xml','r+') do |file|
    file.each {|line| line.gsub(/^\s\W*\s$/, " ")}

end


 File.open("newexample.xml","w") do |f|
    f.write file 
end

1 个答案:

答案 0 :(得分:1)

你可以拥有

#!/usr/bin/env ruby

file_path = 'C:/ruby/example.xml'

File.open(file_path, 'r') do |file|
  @a = file.map{ |line| line.gsub(/^\s\W*\s$/, " ") }
end

File.open(file_path, 'w') do |file|
  @a.each { |e| file.puts e }
end