通貨換算 WebAPI

ありそうでなかった、通貨換算WebAPI。PHPで使ってみました。

 Xcurrency - currency calculator 個人ユースは無料。

通貨換算って、古くからWebサービスのアイディアとしてあって
Google以前のWebサービスのサンプルといえばコレでした。
Xmethodsにもホスティングされていた(ハズだった)のですが、今ではメチャ高価だったり、無料のモノはメンテされてなかったり。

ありそうでナイなぁと困ってたところ、タイムリーに百式さんで紹介されていました。

URLがかっこよくて、便利で楽しい

●1USドル=○○円
 http://xurrency.com/1/usd/to/jpy/feed

●5ユーロ=○○円
 http://xurrency.com/5/eur/to/jpy/feed

●円の全換算がほしければ、
 http://xurrency.com/jpy/feed

●逆換算がほしければ、
 http://xurrency.com/jpy/feed/inverse

PHPで使ってみる

数字だけ返ってくるのかとおもいきや、がっつりとRDFとんできます。
ちょこっとだけ面倒なパースが必要。

<?php

 function toJpy($currency,$i=1){
   $c = strtolower($currency);
   return changeImpl( "{$i}/{$c}/to/jpy/feed" );
 }

 function jpyTo($currency,$i=1){
   $c = strtolower($currency);
   return changeImpl( "{$i}/jpy/to/{$c}/feed" );
 }

 function changeImpl($change){
   $xml = file_get_contents("http://xurrency.com/{$change}");
   $parser = xml_parser_create();
   xml_parse_into_struct($parser,$xml,$values,$idx);
   xml_parser_free($parser);
   return $values[$idx['DC:VALUE'][0]]['value'];
 }

 print_r( toJpy('USD') );
 print_r( toJpy('EUR',5) );
 print_r( jpyTo('USD') );
 print_r( jpyTo('GBP') );

?>

こういうサービスを個人でやってるって、この人だれなんだろう・・


コメント
&-
2009/03/05
初めまして。ブログに掲載されていた、XcurrencyのAPI利用に関して質問があり、こちらから送ります。

$1.5の時今の日本円がいくらかなどという、$1以外の数字の結果を取り出しブログパーツとして吐き出すようにしたいのですが、取り出しはJavascript(ajax)で可能でしょうか? $1.5のほうは、選択できず固定にする予定です。

<dc:value>の行を取得できればできると思うのですが・・・

また、ブログに記載のPHPを利用する場合は、タグをどのように記載すれば出力結果を表示させることができますか?
&-
2009/03/05
半日ほどネットで調べましたが、Javascriptでは
別ドメインのものを取得できないようなので、
PHPのSimpleXMLを使うことにしました。
まだうまく動かないのですが、少しがんばってみようと
思います。コメント汚してしまいすいませんでした。

コメントしてください

closed.