Rubyでrexmlを使いxml処理をしてみました。
下記URL参考
http://www.nslabs.jp/ruby-rexml.rhtml
まずサンプルの動きを確認してみます。
リファレンスに載っているプログラムをそのまま動かしてみます。
require 'rexml/document' doc = REXML::Document.new doc << REXML::XMLDecl.new('1.0', 'UTF-8') feed = doc.add_element("feed", {"xmlns" => "http://www.w3.org/2005/Atom"}) feed.add_element("title", {'type' => 'text'}).add_text "Netsphere Feed" doc.write STDOUT
実行結果です。
<?xml version='1.0' encoding='UTF-8'?> <feed xmlns='http://www.w3.org/2005/Atom'> <title type='text'>Netsphere Feed</title> </feed>
Rubyはとても直感的にプログラムが書けてしまうのが素晴らしいですね。
rexmlで遊んでみました。
実際に自分でプログラムを書いてみました。
require 'rexml/document' doc = REXML::Document.new doc << REXML::XMLDecl.new('1.0', 'UTF-8') feed = doc.add_element("channel", {"rdf:about" => "http://d.hatena.ne.jp/camelmasa/rss"}) feed.add_element("title").add_text "camelmasaの開発日記" feed.add_element("link").add_text "http://d.hatena.ne.jp/camelmasa/" feed.add_element("description").add_text "camelmasaの開発日記" feed.add_element("image", {"rdf:resource" => "http://d.hatena.ne.jp/images/diary/c/camelmasa/camelmasa_m.gif"}) feed.add_element("dc:creator").add_text "camelmasa" feed.add_element("dc:date").add_text "2008-06-26T12:34:27+09:00" doc.write STDOUT
実行結果です。
<?xml version='1.0' encoding='UTF-8'?> <channel rdf:about='http://d.hatena.ne.jp/camelmasa/rss'> <title>camelmasaの開発日記</title> <link>http://d.hatena.ne.jp/camelmasa/</link> <description>camelmasaの開発日記</description> <image rdf:resource='http://d.hatena.ne.jp/images/diary/c/camelmasa/camelmasa_m.gif'/> <dc:creator>camelmasa</dc:creator><dc:date>2008-06-26T12:34:27+09:00</dc:date> </channel>
RSSならすぐに作れそうですね。
まとめ
DOMツリーを、rubyで簡単に生成出来る事がわかりました。
[PR]Spreeの情報を集めています。
ECを持ちたい方、仕事でECを使いたい方向けのコミュニティサイトです。
このサイトでは世界で最も使用されているECの1つであるSpreeについての情報を提供しています。
http://spreecommerce.jp/