出力
「はじめての XML。」
XML を生成しなきゃならなくなった。Ruby の添付ライブラリに含まれる REXML を使うのだが、リファレンスではいまいち分からないので、チュートリアルを見ながら四苦八苦。
#/usr/bin/env ruby -Ku require "rexml/document" include REXML def element(name, attributes={}, elements=[]) temp = Element.new(name) attributes.each {|key, value| temp.add_attribute(key, value) } elements.each {|item| temp.add_element(item) } temp.add_text yield if block_given? return temp end xhtml = element("html", {}, [ element("head", {}, [element("title"){"TEST"}]), element("body", {}, [element("h1"){"hello world!"}]) ] ) doc = Document.new doc << XMLDecl.new(1.0, "utf-8") doc << xhtml puts "===" doc.write($stdout, 0) puts "" puts "==="
…少し工夫すれば、オブジェクトを簡単に XML 化するのもができそうだ。でも、きっと先に誰か作ってるか、リファレンスを良く読めば、既にあるはず…。