2010-07-08 45 views
0

我想从一个目录加载一组xml,并使用REXML来解析循环中的所有xml。 我似乎无法创建文件对象后,我开始从目录读取Ruby从程序中的目录加载多个XML以解析它们

 i=1 
    filearray=Array.new 
     documentarray=Array.new 
     directory = 'xml' 
     Dir.foreach(directory).each { |file| 
     next if file == '.' or file == '..' 
     filearray[i]=File.open(directory +"/"+file) 
     i=i+1 

请帮

+0

当你说你不能创建'File'对象。怎么了?你看到什么错误? – mikej 2010-07-08 16:54:59

+0

实际的代码运行中是否丢失了结束大括号“}”,或者这只是一个错字? – ehsanul 2010-07-08 19:31:00

回答

1

您正在打开该文件,但不读它。这是丑陋的,但将工作:

require 'find' 

files = [] 
directory = 'xml' 

def get_contents(file) 
    contents = "" 
    contents = File.open(file).readlines 
end 

Find.find(directory) do |file| 
    next if FileTest.directory?(file) 
    files << get_contents(file) 
end 

希望它有助于

相关问题