# -*- ruby -*- # # Using an internal stack. # require 'xtemplate' require 'xtemplate/xml' doc = XTemplate::XMLDocument.new(< 1name1name1@com 2name2name2@com 3name3name3@com 4name4name4@com EOF include XTemplate::XPath puts(value_inspect(doc['//uid[@opt="A"]'])) puts(value_inspect(doc['//uid[@opt]'])) p doc['//uid[@opt="A"]{text()}'] p doc['//uid[@opt="A"]/@opt'] p doc['//uid[@opt]{text()}'] puts "--" puts doc['/members{dump()}'] puts "--" puts doc['/members/member{dump()}']