Ruby&GoogleMapAPIでREXML::ParseException

RubyGoogle Map APIを叩き、緯度&経度を取っていたところ、以下の例外が発生。

REXML::ParseException: #<REXML::ParseException: Missing end tag for 'DependentLocalityName' 
(got "DependentLocality")
Line: 50
Position: 4092
Last 80 unconsumed characters:
>
/usr/local/lib/ruby/1.8/rexml/parsers/baseparser.rb:330:in `pull'
/usr/local/lib/ruby/1.8/rexml/parsers/treeparser.rb:22:in `parse'
/usr/local/lib/ruby/1.8/rexml/document.rb:205:in `build'
/usr/local/lib/ruby/1.8/rexml/document.rb:42:in `initialize'

該当箇所はこんな感じ。URLのXML情報生成でエラーとなっている。

doc = REXML::Document.new(open(@url)) #←発生箇所

調べてみたところ以下のページを発見。
http://ep.blogware.com/blog/_archives/2008/7/22/3804863.html


どうやらXMLヘッダはUTF-8だが、データ自体はISO-8859-1で帰ってくることが原因の模様。
こんな感じでコンバートして対応した。

doc = REXML::Document.new(Iconv.conv('utf-8', 'ISO-8859-1', open(@url).string))