2007年08月26日(日)更新 |
■子要素をたどる(sample2.rb)
たけち: 前回は、Documentのルート要素を取得してみたね。 さらら: ええ。Document.root を使ったわ。 たけち: で、今回は、要素の子要素をたどる方法を学ぼうね。 さらら: あっ、はい。 たけち: まず、そのメソッドを見ておくね。あるElementの子要素(Element)をたどって見てゆくには、Elementのelements.eachメソッドを使うんだ。 |
■elements.eachメソッド
さらら: えっ? Elementのelements.eachメソッドを使うって、どう使うのかしら? 図だけだとイメージがわかないわ。 たけち: あっ、そうだね。ここではRubyを使うから、Rubyでの書き方とも関連があるんだね。簡単に説明しておくね。 さらら: あっ、はい。 たけち: Rubyでは、Elementのelements.eachメソッドを使う、というイメージは次のように書けばいいってことなんだよ。 |
さらら: へぇ〜。ずいぶんと簡単なのね。私には見慣れない書き方だけど。 たけち: { から } の中で、| と |でかこった変数名(ここでは child)が使えるんだね。 さらら: そうなのね。 たけち: じゃあ、つぎに今回サンプルとして使うxmlデータを確認しておくね。 |
サンプルXMLデータ(2) sample2.xml |
---|
<?xml version="1.0" encoding="utf-8" ?> |
さらら: sampleという名前の要素の子要素にchildという名前の子要素が3つあるのね。 たけち: そうだね。 |
■Rubyサンプルプログラム(2) sample2.rbのソースコード
たけち: じゃあ、さっそくだけど、次のRubyのソースコードをみて。 さらら: はい。 |
行 | Rubyサンプルプログラム(2) sample2.rb |
---|---|
01 02 03 04 05 06 07 08 09 10 11 12 13 14 15 16 17 18 |
require "rexml/document" |
さらら: さっき説明してもらったelements.eachメソッドがそのまま載っているわ。 たけち: そうだね。そこの16〜18行目でsample要素の子要素を処理しているね。 さらら: えぇ。わかるわ。 |
■サンプルプログラムsample2.rbの実行結果の確認
たけち: じゃ、このsample2.rbを実行した結果をみてみよう。起動は さらら: はい。 |
さらら: 要素名が"child"、テキストが"子1です"、"子2です"、"子2です"って順に表示されたわ。 たけち: これで大体の雰囲気はつかめたよね。 さらら: えぇ。とっても簡単にできるのでなんだかうれしいわ。 たけち: おつかれさま。今回はここまでにしておくね。 さらら: は〜い!! (^ ^* →次回は属性を見るです。 (^ ^; |