我发现这篇有趣的文章解释了如何在ruby http://www.ioncannon.net/programming/643/fast-xml-parsing-with-ruby/中使用saxparser来处理大的xml文件我想在我的一个控制器中使用: parser = XML::SaxParser.file("posts.xml")这行代码,但是我有一个来自另一个应用程序的xml post而不是一个文件,有人可以帮助我学习语法吗?非常感谢
发布于 2010-06-16 20:17:01
我是个红宝石新手,但试一试。
用于解析的自定义类文件:
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窃取的。
https://stackoverflow.com/questions/3053002
复制相似问题