0

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

4

1 回答 1

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 博客上的这篇文章中窃取的。

于 2010-06-16T12:17:01.437 回答