PDA

Visualizza la versione completa : Serializzazione XML


Mapt
16-06-2009, 13:21
Ho il seguente problema con la serializzazione XML di un oggetto,realizzata tramite la libreria XmlSerialization (http://clabs.org/clxmlserial.htm):se l'oggetto contiene solo campi di tipo Fixnum o String,la serializzazione avviene correttamente,ma se aggiungo un array viene riportato il seguente errore:

/usr/local/lib/site_ruby/1.8/rexml/parent.rb:58:in `[]': Symbol as array index

RAILS_ROOT: /home/mattia/test_online
Application Trace | Framework Trace | Full Trace

/usr/local/lib/site_ruby/1.8/cl/xmlserial/xmlserial.rb:189:in `instance_data_to_xml'
/usr/local/lib/site_ruby/1.8/rexml/parent.rb:58:in `[]'
/usr/lib/ruby/gems/1.8/gems/activesupport-2.3.2/lib/active_support/core_ext/array/conversions.rb:166:in `to_xml'
(eval):1:in `instance_data_to_xml'
/home/mattia/test_online/app/controllers/welcome_controller.rb:19:in `index'

Eppure,nella pagina web della libreria anche i vettori vengono elencati tra i tipi supportati dalla serializzazione.

weppos
17-06-2009, 09:21
Non ho mai usato quella libreria, ma risulta scritta nel 2003 per una versione preistorica del linguaggio.
In Ruby il formato standard per la serializzazione lo YAML.

Puoi usarlo direttamente


YAML.dump([])

oppure attraverso il marshaling.

http://www.ruby-doc.org/core/classes/Marshal.html

Loading