はじめに
XMLから簡単な要素の抽出をする必要があってそれの備忘ログ的にメモ
手順
pryで作業しています。
gem rexml の利用
まずgemの読み込み
require 'rexml/document'
xmlファイルの読み込み
引数にxmlを開いたものを渡し、REXML::Documentのオブジェクトを作成するみたいです。
doc = REXML::Document.new(open("filepath")
内容の読み込み
上記の状態でも puts doc すると内容が出てきます。 せっかく構造的なファイルなので読み込んでみます。
# 要素を指定して読み込む
# この方法では同要素が複数ある場合一番最初のが来るみたい
puts doc.elements['root/data']
# 全部回したいときは、ブロックを取って処理ができる
doc.elements['root'].each do |element|
puts element.
end
# 属性を取りたい場合はこんな感じに
doc.elements['root'].each do |element|
puts element.attributes['attr']
end
終わりに
htmlの構造とかにも使えるんだろうなと勝手に思っているので、ホームページからデータの抜き出しなど行うときに重宝させたいなと思っております。