item.xml:これを下記コードで読み込みする。
xml version="1.0" encoding="utf-8"
<inventory title="OmniCorp Store #45x10^3">
<section name="health">
<item upc="123456789" stock="12">
<name>Invisibility Cream</name>
<price>14.50</price>
<description>Makes you invisible</description>
</item>
<item upc="445322344" stock="18">
<name>Levitation Salve</name>
<price>23.99</price>
<description>Levitate yourself for up to 3 hours per application</description>
</item>
</section>
<section name="food">
<item upc="485672034" stock="653">
<name>Blork and Freen Instameal</name>
<price>4.95</price>
<description>A tasty meal in a tablet; just add water</description>
</item>
<item upc="132957764" stock="44">
<name>Grob winglets</name>
<price>3.56</price>
<description>Tender winglets of Grob. Just add water</description>
</item>
</section>
</inventory>
require 'rexml/document'
doc = REXML::Document.new(File.open('item.xml'))
doc.elements.each("inventory/section"){|ele|
puts ele.attributes["name"]
}
doc.elements["inventory/section"].each{|ele|
puts ele.class.name
}
puts doc.elements["/inventory/[@name='health']"].elements["item[@stock='12']/name"].text