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 –