Ruby SaxParser语法

时间:2010-06-16 12:02:34

标签: ruby libxml2 saxparser

我发现这篇有趣的帖子解释了如何在ruby中使用saxparser来处理大型xml文件 http://www.ioncannon.net/programming/643/fast-xml-parsing-with-ruby/ 我想在我的一个控制器中使用以下行:parser = XML :: SaxParser.file(“posts.xml”),但是我从其他应用程序获取xml帖子而不是文件,任何人都可以帮助语法吗? 非常感谢

1 个答案:

答案 0 :(得分:1)

我是一个红宝石的菜鸟,但试一试。

用于解析的自定义类文件:

require 'rubygems'
require 'xml/libxml'
require 'handler'

class SaxParser
  def initialize(xml)
    @parser = XML::SaxParser.new
    @parser.string = xml
    @parser.callbacks = Handler.new
  end

  def parse
    @parser.parse
    @parser.callbacks.elements
  end
end

现在,您要在文件中解析XML:

# reference your custom class
require 'sax_parser'

xml = "your xml string"

# parse xml
parsedXml = SaxParser.new(xml).parse

上面的代码是在Luca Guidi的博客上从this post偷来的。