CodeZine(コードジン)

特集ページ一覧

REXML:RubyによるXML処理

ツリー解析とストリーム解析が行えるRuby XMLプロセッサ

  • LINEで送る
  • このエントリーをはてなブックマークに追加
2007/05/24 08:00

あなたがもしRubyを、さらに言えばRailsを使っているのなら、非常にシンプルで便利な「REXML」というRuby用のXML処理APIを利用できます。REXMLは、使いやすいAPIを備えた純粋なRuby XMLプロセッサです。この記事では、このREXMLを取り上げ、REXMLを使ってXMLを処理する方法をいくつか紹介します。

目次

Ruby:コンピューティング業界を席巻するスクリプト言語

 昨今のプログラミング業界で、Rubyの名前を耳にしたことのない人はまずいないでしょう。人気上昇中のWebアプリケーションフレームワークであるRuby on Railsのおかげで、Rubyはアプリケーションの開発およびテストを短時間で行うための言語として支持されています。インタープリタ型スクリプト言語であるRubyでは、手軽で簡単なオブジェクト指向プログラミングを行うことができ、さらに、クロージャ、ブロック、ミックスイン(Mixin)などの優れた機能を使用できます。また、移植性が非常に高く、Unix/Linux、Windows、MacOSすべてで動作します。Rubyについてもっと詳しく知りたい方は、W. Jason GilmoreのRubyに関する記事をお読みください。

REXML:XML処理を簡易化するRuby用プロセッサ

 REXMLはJava用電子XMLライブラリに端を発するRuby XMLプロセッサです。使いやすいAPIを備えており、サイズが小さく高速で動作するだけでなく、ツリー解析とストリーム解析の両方の文書解析をサポートします。ストリーム解析はツリー解析よりも約1.5倍高速ですが、XPathなどの機能を利用できません。

REXMLを使用するには

 REXMLを利用するには、まず、Rubyファイル内でREXMLをインクルードする必要があります。

require "rexml/document"
include REXML    # so that we don't have to prefix everything
                 # with REXML::...

 これにより、REXMLライブラリとREXML名前空間がインクルードされ、メソッド呼び出しの前に"REXML"プレフィックスを付ける必要がなくなります。

 では、REXMLを使用してシンプルなXML文書を作成し、プリントしてみましょう。「REXMLtest.rb」ファイルに次のRubyコードを入力し、保存します。

require "rexml/document"
include REXML    # so that we don't have to prefix everything
                 # with REXML::...
string = <<EOF
   <xml>
      <element attribute="attr">My first REXML document</element>
   </xml>
EOF
doc = Document.new string

print doc

 コマンドラインから次のように入力して「REXMLtest.rb」を実行し、その結果を確認します。

 ここでは、シンプルなXML文書を含む文字列を作成し、その文字列を使用して新しいREXML文書オブジェクトを初期化し、最後にXML文書をプリントしました。


  • LINEで送る
  • このエントリーをはてなブックマークに追加

バックナンバー

連載:japan.internet.com翻訳記事

もっと読む

著者プロフィール

  • Dominic Da Silva(Dominic Da Silva)

    Java、Ruby、および.NETベースのWebとWebサービス開発を専門とするソフトウェアコンサルティング会社、SilvaSoft, Incの代表取締役。2000年からJavaを使い始め、Linuxは1.0の時代からのユーザーである。また、Java2プラットフォームのSun認定も取得。美しいカリブ...

  • japan.internet.com(ジャパンインターネットコム)

    japan.internet.com は、1999年9月にオープンした、日本初のネットビジネス専門ニュースサイト。月間2億以上のページビューを誇る米国 Jupitermedia Corporation (Nasdaq: JUPM) のニュースサイト internet.com や EarthWeb.c...

あなたにオススメ

All contents copyright © 2005-2021 Shoeisha Co., Ltd. All rights reserved. ver.1.5