石田です。

require "rexml/document"
require "kconv"
doc = nil

str = ""
File.open("n_UTF-16.xml") {|fp|
  str = fp.read.toutf8
}
doc = REXML::Document.new(str)

と文字変換するように変更しても、以下のようなエラーがでました。

no such file to load -- rexml/encodings/UTF_16.rb
C:/Program 
Files/ruby-1.8/lib/ruby/site_ruby/1.8/rexml/parsers/treeparser.rb:89:in 
`parse': #<ArgumentError: No decoder found for encoding UTF_16.  Please 
install iconv.> (REXML::ParseException)
C:/Program Files/ruby-1.8/lib/ruby/site_ruby/1.8/rexml/encoding.rb:42:in 
`encoding='
C:/Program Files/ruby-1.8/lib/ruby/site_ruby/1.8/rexml/source.rb:47:in 
`encoding='
・・・・以下省略・・・・


試しに、xmlファイル内のエンコーディング指定(encoding="UTF-16")を取って見れば、
エラーがなくなり、xpathもできるようになりました。

????