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