0

私はこのルビーコードを持っています。それはインターネットから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 に答える