REXML
Ruby で XML を扱えるライブラリって事で
REXML を触ってみる。
http://www.germane-software.com/software/rexml/index.html
↑ここの Downloads の Development (tgz) を解凍して
install.rb を実行すると使えるようになる。
子ノードの取得に children または elements を
使えばできると思いこんでたけど違ったよ・・・orz
なんか返ってくるノードが期待してる物と違うなぁと思ってて
(XMLにある改行とかも一緒に返ってきたりとか)
それを日記に書こうと思って再度APIを見ていたら
http://www.germane-software.com/software/rexml_doc/
REXML::Element#each_element REXML::Element#get_elements
とか、ステキなメソッドがあるじゃん!
elements属性の説明は何が返ってくるんだかな内容だったから
余計に分からなかったよ。
で、お試しプログラム
require 'rexml/document' xml =<<EOFEOF document = REXML::Document.new(xml) puts "#######################################################" puts "# get person nodes by each_element #" puts "#######################################################" document.root.each_element("person") {|ele| puts ele } puts "#######################################################" puts "# get person nodes by get_elements #" puts "#######################################################" persons = document.root.get_elements("person") for ele in persons puts ele end puts "#######################################################" puts "# get skill nodes by get_elements #" puts "#######################################################" skills = persons[0].get_elements("items/skill") for ele in skills puts ele.text end るびーたろう 1.8.5 GC Mixin るびーじろう 1.8.4