11.9. Tworzenie i modyfikowanie dokumentów XML

Problem

Chcemy zmodyfikować istniejący dokument XML lub stworzyć nowy „od zera”.

Rozwiązanie

Tworzenie nowego dokumentu XML najlepiej rozpocząć od utworzenia pustego obiektu Document.

require 'rexml/document'
doc = REXML::Document.new

Dodanie nowego obiektu do drzewa struktury dokumentu realizuje się przez podanie jego nazwy i ewentualnych atrybutów jako argumentów wywołania metody add w węźle-ojcu; nie jest konieczne samodzielne tworzenie obiektów Element.

meeting = doc.add_element 'meeting' meeting_start = Time.local(2006, 10, 31, 13) meeting.add_element('time', { 'from' => meeting_start, 'to' => meeting_start + 3600 }) doc.children[0] # => <meeting> ... </> doc.children[0].children[0] ...

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.