Parser da XML a PHP del File Meteo (Yahoo! Weather, Weather.com)

Dopo aver pubblicato il Parser da XML a ASP di Google Meteo ecco che giunge il momento  di pubblicare il parser, del file XML messo a disposizione dal servizio di Google Meteo, tramite PHP.

Per qualunque altra informazione fate riferimento all’articolo sopra riportato.

Al file PHP consiglio di aggiungere un DIV con una classe predefinita e jQuery Cycle Plugin per dare degli effetti di rotazione alle nostre informazioni meteo.

Attenzione questo articolo non è più valido!
I servizi che offrivano le previsioni sono stati chiusi ma puoi prendere spunto su come funziona il parsing per fartene uno tutto tuo o provare ad utilizzare Open Weather Map.
Tutto l’articolo che segue è da leggera a solo scopo didattico o per prendere spunto. gli esempi che seguono non funzioneranno.

La varibile da modificare nell’esempio sotto è $ch = curl_init("..."); e alcuni nodi del file xml.
Per utilizzare il servizio Yahoo! Weather
http://weather.yahooapis.com/forecastrss?p=ITXX0067&u=c
Per utilizzare il servizio Weather.com
http://wxdata.weather.com/wxdata/weather/local/ITXX0067?cc=*&unit=m
La località impostata è Roma che equivale a ITXX0067. Per cambiare la località dovete sostituire il codice soprariportato nell’URL. Per trovare il codice della località a voi interessata vi consiglio di utilizzare i consiglio di utilizzare questo servizio, Weather Location Codes/IDs.

Fondamentale, sul nostro server PHP deve essere abilitata l’estensione CURL!!!

xpath("/xml_api_reply/weather/current_conditions");
$forecast_list = $xml->xpath("/xml_api_reply/weather/forecast_conditions");

/*previsioni di oggi*/
echo "

weather“; echo “
Condizioni attuali: ” . $current[0]->condition[‘data’]; echo “
temp: ” . $current[0]->temp_c[‘data’] . “°C”; echo “
humidity: ” . $current[0]->humidity[‘data’]; echo “
wind: ” . $current[0]->wind_condition[‘data’] . “

";

/*previsioni prossimi giorni*/
foreach ($forecast_list as $forecast) {

echo "

weather“; echo “
;Previsione per: ” . $forecast->day_of_week[‘data’]; echo “
” . $forecast->condition[‘data’]; echo “
temp: min ” . $forecast->low[‘data’] . “°C, max ” . $forecast->high[‘data’] . “°C”; echo “

";
}
?>

Un esempio visibile è disponibile su questo sito: www.carbonifera.it

Vi auguro ancora buone previsioni a tutti!!!