※ ChatGPTを利用し、要約された質問です(原文:rexmlで・・・)
REXMLでXMLファイルの特定要素を取得する方法
このQ&Aのポイント
REXMLを用いてRuby初心者がXMLファイルから特定の要素を取得する方法について教えてください。
現在、REXMLを使用してXMLファイルから特定の要素を取得しようとしていますが、うまくいっていません。すべての要素を取得する方法を教えてください。
XMLファイルから特定の要素を取得するためのREXMLのコードを教えてください。
Ruby初心者です。
rexmlを用いてXMLを扱うことになったのですが、出力がうまくいきません。
XMLファイル
<hoge>
<item>
<name>○○○</name>
<data>・・・・・</data>
<data>・・・・・</data>
</item>
<item>
<name>○○○</name>
<data>・・・・・</data>
<data>・・・・・</data>
</item>
</hoge>
上記のようなXMLファイルから<name>と<data>を取り出して出力しようと思っています。
見よう見まねで以下のようなコードを書いたのですが、これだと複数ある<data>が1つしか取れませんでした。
xml = REXML::Document.new(open("・・・・"))
xml.elements.each("hoge/item") {|line|
puts line.elements["name"].text
puts line.elements["data"].text
}
※都合で簡単に書き直したものをテストせずに載せています
すべての<data>を出力したいのですが、どう書き直せばよいでしょうか?
ご教授願います。
お礼
回答ありがとうございます。おかげさまで無事解決しました。助かりました。