SHOEISHA iD

※旧SEメンバーシップ会員の方は、同じ登録情報(メールアドレス&パスワード)でログインいただけます

CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

japan.internet.com翻訳記事

REXML:RubyによるXML処理

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

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

あなたがもし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文書をプリントしました。

会員登録無料すると、続きをお読みいただけます

新規会員登録無料のご案内

  • ・全ての過去記事が閲覧できます
  • ・会員限定メルマガを受信できます

メールバックナンバー

次のページ
XML要素をツリー解析し、その要素にアクセスする

この記事は参考になりましたか?

  • このエントリーをはてなブックマークに追加
japan.internet.com翻訳記事連載記事一覧

もっと読む

この記事の著者

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

japan.internet.com は、1999年9月にオープンした、日本初のネットビジネス専門ニュースサイト。月間2億以上のページビューを誇る米国 Jupitermedia Corporation (Nasdaq: JUPM) のニュースサイト internet.comEarthWeb.com からの最新記事を日本語に翻訳して掲載するとともに、日本独自のネットビジネス関連記事やレポートを配信。

※プロフィールは、執筆時点、または直近の記事の寄稿時点での内容です

Dominic Da Silva(Dominic Da Silva)

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

※プロフィールは、執筆時点、または直近の記事の寄稿時点での内容です

この記事は参考になりましたか?

この記事をシェア

  • このエントリーをはてなブックマークに追加
CodeZine(コードジン)
https://codezine.jp/article/detail/1329 2007/05/24 08:00

おすすめ

アクセスランキング

アクセスランキング

イベント

CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

新規会員登録無料のご案内

  • ・全ての過去記事が閲覧できます
  • ・会員限定メルマガを受信できます

メールバックナンバー

アクセスランキング

アクセスランキング