ちょっと郵便番号の一覧の書かれたXMLが欲しくなったのでCSVから変換してみた。
CSVのダウンロードは↓からしました。
http://www.post.japanpost.jp/zipcode/download.html
このCSVを下のRubyスクリプトで食わせて完成。
一度メモリ上の配列に、必要な列だけ抜いた配列でデータを保持して、ERBでXMLに出力させようと思ったけど、メモリいっぱい食べるので諦めました。
require 'csv' puts "<?xml version='1.0' ?>" puts "<PostCodes>" CSV.foreach("KEN_ALL.CSV") do |row| puts "<PostCode number='#{row[2]}' address='#{row[6] + row[7] + row[8]}' />" end puts "</PostCodes>"
これで以下のようなXMLをゲット
<?xml version='1.0' ?> <PostCodes> <PostCode number='0600000' address='北海道札幌市中央区以下に掲載がない場合' /> <PostCode number='0640941' address='北海道札幌市中央区旭ケ丘' /> …途中省略… <PostCode number='9071544' address='沖縄県八重山郡竹富町鳩間' /> <PostCode number='9071800' address='沖縄県八重山郡与那国町以下に掲載がない場合' /> <PostCode number='9071801' address='沖縄県八重山郡与那国町与那国' /> </PostCodes>