1
我一直在使用Nokogiri解析它时遇到了“分配内存失败”的问题。为此我写了下面的代码。分析大型XML文件时出现'分配内存失败'
require 'open-uri'
require 'nokogiri'
f = File.open("/my_pplications/XML/one.xml")
doc = Nokogiri::XML(f)
stack = Hash.new
doc.children.each do |x|
x.children.each do |sx|
sx.children.each do |v|
stack[v.name] = v.text
end
end
end
这里如果one.xml
文件的大小smaller
,我能够解析和得到的一切。 但是,如果该文件是too large(more than 700MB)
,我得到的错误如"[FATAL] failed to allocate memory"
。那么如何解析完整的大型XML文件。
任何人都可以帮我吗?
除了增加内存,你是什么意思?您可以尝试Nokogiri :: XML :: SAX – pguardiario
请参阅http://stackoverflow.com/questions/8728046/how-to-use-sax-with-nokogiri –