11.6. Konwertowanie dokumentu XML na hasz
Problem
Obiekt Document
jest dość skomplikowaną strukturą danych; chcielibyśmy uzyskać reprezentację dokumentu XML w postaci bardziej naturalnej dla języka Ruby.
Rozwiązanie
Biblioteka XmlSimple
, dostępna w postaci gemu xml-simple
, oferuje parsing, którego wynikiem jest hasz.
Spójrzmy na poniższy dokument XML, przedstawiający zawartość typowej zamrażarki (freezer):
xml = %{ <freezer temp="-12" scale="celcius"> <food>Phyllo dough</food> <food>Ice cream</food> <icecubetray> <cube1 /> <cube2 /> </icecubetray> </freezer>}
Gdy przetworzymy go za pomocą wspomnianego parsera
require 'rubygems' require 'xmlsimple' doc = XmlSimple.xml_in xml
otrzymamy w wyniku następujący hasz:
require 'pp' pp doc # ...
Get Ruby. Receptury now with the O’Reilly learning platform.
O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.