Domanda

Ho trovato questo interessante post che spiega come utilizzare SAXParser per grandi dei file XML in rubino http://www.ioncannon.net/programming/643 / fast-xml-analisi-con-ruby / Vorrei usare la linea: parser XML :: = SaxParser.file ( "posts.xml"), in uno dei miei controllori, ma invece di un file ho un posto XML da un'altra applicazione, chiunque aiutare lattina con la sintassi? Grazie mille

È stato utile?

Soluzione

Sono un noob rubino, ma dare una prova.

file di classe personalizzato per l'analisi:

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

Ora, nel file che si desidera analizzare il codice XML:

# reference your custom class
require 'sax_parser'

xml = "your xml string"

# parse xml
parsedXml = SaxParser.new(xml).parse

Il codice di cui sopra è stato rubato da questo post sul blog di Luca Guidi.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top