Pregunta

He encontrado este interesante post explicando cómo utilizar SAXParser para grandes archivos XML en rubí http://www.ioncannon.net/programming/643 / fast-xml-análisis-con-rubí / Me gustaría utilizar la línea: parser XML :: = SaxParser.file ( "posts.xml") en una de mis controladores, pero en lugar de un archivo que tengo un puesto XML desde otra aplicación, puede ayudar a cualquier persona con la sintaxis? Muchas gracias

¿Fue útil?

Solución

Soy un novato rubí, pero le daría prueba.

archivo de clase personalizado para el análisis:

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

Ahora en el archivo que desea analizar el código XML:

# reference your custom class
require 'sax_parser'

xml = "your xml string"

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

El código anterior fue robada de este post en el blog de Luca Guidi.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top