Link copiato negli appunti
Un'alternativa leggera a REXML
è xmlsimple
che invece di operare su oggetti complessi, come ad esempio Element
, trasforma gli elementi XML in strutture di hash e array.
require 'rubygems' require 'xmlsimple' xmlfile = File.new("cd.xml") doc = XmlSimple.xml_in xmlfile
Il risultato è un hash sul quale si possono effettuare le normali operazioni:
{"genere" => [{"cd" => [{"asin" => "B00000JBDE", "autore" => ["Orange Goblin"], "anno" => ["1997"], "titolo" => ["Frequencies From Planet Ten"]}, {"asin" => "B000WM72FC", "autore" => ["Electric Wizard"], "anno" => ["2007"], "titolo" => ["Witchcult Today"]}], "nome" => "Stoner"}, {"cd" => [{"asin"=>"B00005O6PA", "autore"=>["Yann Tiersen"], "anno"=>["2001"], "titolo"=>["Amelie"]}], "nome" => "Colonne sonore"}], "nome" => "CD House"}
L'operazione opposta è eseguita dal metodo xml_out
che trasforma un hash in XML, utile soprattutto dopo aver eseguito delle modifiche sull'hash generato da xml_in
.