首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >REXML认为文件是一个目录,不会创建REXML::Document

REXML认为文件是一个目录,不会创建REXML::Document
EN

Stack Overflow用户
提问于 2010-12-16 00:12:36
回答 1查看 147关注 0票数 0

我肯定在这里遗漏了一些明显的东西,但我似乎无法让以下代码工作:

代码语言:javascript
复制
xml_files_dir.each do | xml_file |
  file = File.new ( xml_files_dir + "/" + xml_file )
  puts File.file? file #true. so I know the file was created and is a file
  doc = REXML::Document.new file #error
end

我得到的是:

/System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/lib/ruby/1.8/rexml/source.rb:146:in ` `read':是一个目录-/Path/To/My/XML//System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/lib/ruby/1.8/rexml/source.rb:146:in/。(Errno::EISDIR)

为什么REXML认为我的文件是一个目录,而它看起来是一个有效的文件?

谢谢

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2010-12-16 00:23:05

如果你在循环中放入xml_file,我想你会看到名为...的“文件”。在创建rexml对象之前,您需要一些逻辑来确保您不会尝试将这些文件作为实际文件进行处理。

我可以提供一个代码示例,但是我不确定您的xml_files_dir是什么类型的对象。如果你只是在那里抛出一个puts,我想你会明白我在说什么。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/4452130

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档