Синтаксис Ruby SaxParser - PullRequest
       7

Синтаксис Ruby SaxParser

0 голосов
/ 16 июня 2010

Я нашел этот интересный пост, объясняющий, как использовать saxparser для больших файлов XML в ruby ​​http://www.ioncannon.net/programming/643/fast-xml-parsing-with-ruby/ Я хотел бы использовать строку: parser = XML :: SaxParser.file ("posts.xml") в одномиз моих контроллеров, но вместо файла у меня есть сообщение XML из другого приложения, кто-нибудь может помочь с синтаксисом?Большое спасибо

1 Ответ

1 голос
/ 16 июня 2010

Я рубиновый нуб, но попробуй.

Файл пользовательского класса для разбора:

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

Код выше был украден из этого поста в блоге Луки Гуиди.

...