今日も元気にテクニカル

技術情報書きたいけど本ブログに書きたくないからこんな名前になりました。

とりあえず試してみる

前項で取りあえずメモ用にURLを張ったが…
さっくりと使い方を学ぶならこちら。
Developer.com: Your Home for Java and Open Source Development Knowledge - Developer.com

上ので物足りなければチュートリアルのコードをコピペ&改変すれば理解が深まる。
REXML Tutorial - Home

この2つをだいたい読んで理解した後、詳しいリファレンスを見ると良い。
REXML API document (ja)

また書籍「Ruby de XML」の付録とし収録されているリファレンス
私家版REXML APIリファレンス

XPathリファレンスも見ればよろし。
REXML 2.4.2のサンプル付きXPathの関数リファレンス

毎回思うが訳してくれた人は天才。

簡単な例

require 'kconv'
require 'rexml/document'
include REXML

# XMLオブジェクト作成
doc = REXML::Document.new File.open("newsing.xml","r")

# (※1)title要素を全て出力
doc.elements.each("//title") do |elem|
  puts elem.text.tosjis
end

#=> 
うわさのビリーはよく見ると " ET " みたい
東芝、「ぷよぷよ」もできる「gigabeat V」
町おこしにも効く!?日本人専用 チリの首都サンティアゴ地下鉄マップ
ストールマンは正しかった − @IT
大黒将志公式サイト: シーズン終了

# (※2) クラスを出力
puts doc.class #=> REXML::Document
puts doc.root.class #=> REXML::Element
puts doc.elements.class #=> REXML::Elements

※1のような書式でtitle要素を全て出力することが出来る。しかしREXMLを使いこなすには、※2のようにそれぞれにクラスの違いを意識しなければならない…という所で次回に続く。