From: 7stud -- Date: 2009-03-19T05:17:17+09:00 Subject: Re: REXML get specific element The following code works when the user types in John or Joh'n but not Joh"n: Joh'n John Joh"n require 'rexml/document' include REXML f = File.new('xml4.xml') doc = Document.new(f) input_name = gets input_name = input_name.chomp p input_name target = XPath.match(doc, "//programmer[text() = \"#{input_name}\"]") p target puts target[0].attributes["age"] $ruby r1test.rb Joh"n "Joh\"n" /usr/lib/ruby/1.8/rexml/xpath_parser.rb:124:in `internal_parse': undefined method `node_type' for "Joh":String (NoMethodError) from /usr/lib/ruby/1.8/rexml/xpath_parser.rb:123:in `each' from /usr/lib/ruby/1.8/rexml/xpath_parser.rb:123:in `internal_parse' from /usr/lib/ruby/1.8/rexml/xpath_parser.rb:49:in `match' from /usr/lib/ruby/1.8/rexml/xpath_parser.rb:402:in `Predicate' from /usr/lib/ruby/1.8/rexml/xpath_parser.rb:346:in `Predicate' from /usr/lib/ruby/1.8/rexml/xpath_parser.rb:204:in `internal_parse' from /usr/lib/ruby/1.8/rexml/xpath_parser.rb:199:in `times' from /usr/lib/ruby/1.8/rexml/xpath_parser.rb:199:in `internal_parse' ... 9 levels... from /usr/lib/ruby/1.8/rexml/xpath_parser.rb:49:in `match' from /usr/lib/ruby/1.8/rexml/xpath_parser.rb:34:in `parse' from /usr/lib/ruby/1.8/rexml/xpath.rb:59:in `match' from r1test.rb:11 -- Posted via http://www.ruby-forum.com/.