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.