如何在Ruby on Rails上使用SAX解析器来处理大型XML文件

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何在Ruby on Rails上使用SAX解析器来处理大型XML文件相关的知识,希望对你有一定的参考价值。

我将在Ruby on Rails上解析大型XML。我检查了很多解决方案,包括SAX-parser,但是帮助链接现在不能正常工作。 (Using SAX Parser to get several sub-nodes?

我是新手。如果某人的代码运行良好,请分享给初学者。

答案

你应该尝试Ox

它还有一些SAX示例in the documentation

require 'stringio'
require 'ox'

class Sample < ::Ox::Sax
  def start_element(name); puts "start: #{name}";        end
  def end_element(name);   puts "end: #{name}";          end
  def attr(name, value);   puts "  #{name} => #{value}"; end
  def text(value);         puts "text #{value}";         end
end

io = StringIO.new(%{
<top name="sample">
  <middle name="second">
    <bottom name="third"/>
  </middle>
</top>
})

handler = Sample.new()
Ox.sax_parse(handler, io)

以上是关于如何在Ruby on Rails上使用SAX解析器来处理大型XML文件的主要内容,如果未能解决你的问题,请参考以下文章

如何在我的 Ruby on Rails 应用程序上使用 ruby​​ 2.7

如何在 ruby​​-on-rails 应用程序上使用 Rack 发送 POST 模拟请求?

如何在 Ruby on Rails 中完成延迟作业后执行 ajax 回调?

Ruby on Rails 模式 - 装饰器与演示器

如何使用 json 文件在 ruby​​ on rails 中填充模型(数据库)?

在 DataTables 表加载 Ruby on Rails 时显示微调器