Obtener datos de conversión de moneda de Yahooapis ahora que iGoogle se ha ido

Hasta ayer tenía un sitio / aplicación de organizador de presupuesto que funciona perfectamente con iGoogle.

A través de PHP, usando la siguiente pequeña línea

file_get_contents('http://www.google.com/ig/calculator?hl=en&q=1usd=?eur');

y similar pude conseguir todo lo que necesitaba.

A partir de hoy, esto ya no está funcionando. Cuando examiné el problema, lo que sucedió es que Google ha retirado iGoogle. ¡Gorrón!

De todos modos, estaba mirando a otra parte pero no puedo encontrar nada que se ajuste a mis necesidades. Me encantaría REALMENTE arreglarlo y ponerlo en marcha nuevamente simplemente cambiando esta línea de código (es decir, cambiando la dirección de Google con la dirección de otra API de moneda disponible) pero parece que ninguna lo hace.

La API de rate-exchange.appspot.com parece que podría ser un análogo de iGoogle pero, por desgracia, nunca funciona. Sigo recibiendo un mensaje de "Por encima de la cuota".

(Aquí viene una pregunta inicial: ¿alguien por ahí conoce una API simple y confiable de tipo iGoogle?)

Así que supongo que lo más natural sería la característica Yahoo YQL (al menos supongo que es tan confiable).

Las consultas de Yahoo se ven así:

http://query.yahooapis.com/v1/public/yql?q=select * from yahoo.finance.xchange where pair in ("USDEUR", "USDJPY", "USDBGN")&env=store://datatables.org/alltableswithkeys

Lo que realmente no puedo entender es cómo analizar estos datos. Produce un XML.

Lo que solía tener es esto:

function exchange($inputAmount,$inputCurrency,$outputCurrency) {
    $exchange = file_get_contents('http://www.google.com/ig/calculator?hl=en&q='.$inputAmount.$inputCurrency.'=?'.$outputCurrency);
    $exchange = explode('"', $exchange);
    $exchange = explode('.', $exchange['3']);
    $exchange[0] = str_replace(" ", "",preg_replace('/\D/', '',  $exchange[0]));
    if(isset($exchange[1])){
        $exchange[1] = str_replace(" ", "",preg_replace('/\D/', '', $exchange[1]));
        $exchange = $exchange[0].".".$exchange[1];        
    } else{
        $exchange = $exchange[0];
    }
    return $exchange;
}

Así que el usuario pudo obtener la tasa de cambio de una moneda de entrada como "USD" y una moneda de salida como "EUR" en una cantidad específica de dinero. Como dije, esto estaba funcionando hasta ayer por la noche.

¿Algunas ideas?