0

我有这个 ruby​​ 代码,它从互联网上获取一个 xml 文件并保存它。它将它保存到当前目录,但想将它保存到 specfik 目录。我怎么做?

require 'rubygems'
require 'nokogiri'
require 'open-uri'

base_url = 'SOME-URL'
extension = '.xml'
# the specfik dir
xml_dir = '/Users/admin/Documents/Projects/files/xmlfolder'

Nokogiri::HTML(open(base_url)).xpath("//a/@href").each do |src|  
  File.open(File.basename(src.value, File.extname(src.value)) + extension,'wb'){ |f| 
    f.write(open(src.value).read)
  }
  puts "Done with: #{base_url}"
end
4

1 回答 1

0

确定xml_dir后,将您的写入包装在 Dir::chdir 块中,如下所示:

 Dir.chdir(xml_dir) do
   f.write # ...
 end

File.open或者在您的调用中构造绝对路径而不是部分路径。

于 2013-03-09T17:31:34.613 回答