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