[PHP] Prelievo dati da xml online.

anco93

Nuovo Utente
21 Lug 2018
12
0
1
Buongiorno,
avrei bisogno del Vostro aiuto.
Avrei bisogno di realizzare un PHP che legga i dati presenti in questo xml:

http://api.wunderground.com/api/26d116fabae3e597/conditions/q/PWS:IROCCADI23.xml

e mi permetta di stampare alcuni dati in posizioni specifiche (ad esempio <temp_c>26.0</temp_c>).
Un po come abbiamo fatto nell'altro post (https://forum.mrwebmaster.it/threads/php-prelievo-dati-da-txt.51926/) con il txt.
Potreste aiutarmi?

Essendo una funzione con un api a call a pagamento sarebbe utile che lo script importi i dati ogni tot minuti su un txt e poi venga fatta la lettura da li.
E' possibile? Grazie intanto per la lettura.
 

anco93

Nuovo Utente
21 Lug 2018
12
0
1
Grazie per la solita veloce risposta :) .
Ho provato così:

Codice:
<?php
$xml=simplexml_load_file("api.wunderground.com/api/26d116fabae3e597/conditions/q/PWS:IROCCADI23.xml");
echo $xml->temp_c . "<br>";
echo $xml->relative_humidity . "<br>";
echo $xml->wind_dir . "<br>";
echo $xml->body;
?>
Ma mi restituisce una pagina bianca :(
 

anco93

Nuovo Utente
21 Lug 2018
12
0
1
Modifica fatta:

Codice:
<?php
$xml=simplexml_load_file("http://api.wunderground.com/api/26d116fabae3e597/conditions/q/PWS:IROCCADI23.xml");

echo $xml->current_observation->temp_c . "<br />";

?>
Ma nulla. Pagina bianca: http://meteocloud.it/test.php
 

marino51

Utente Attivo
28 Feb 2013
2.862
153
63
Lombardia
forse anche con questo script sbagli a fare il copia/incolla
questo é il risultato con la modifica suggerita
upload_2018-7-25_19-41-45.png

body invece non esiste tra i dati restituiti
 

anco93

Nuovo Utente
21 Lug 2018
12
0
1
In realtà se nota ho allegato il codice aggiornato. Credo abbia visto quelle iniziale. In quello aggiornato mi sembra corretto :(
 

marino51

Utente Attivo
28 Feb 2013
2.862
153
63
Lombardia
  • Like
Reactions: anco93

anco93

Nuovo Utente
21 Lug 2018
12
0
1
Nel post precedente ho scritto come ho risolto.
Ho semplicemente applicato e incollato il vostro codice corretto ed ha funzionato.
C'erano errori nel PHP.

In questo ho appena notato invece che il codice funziona se mi salvo l'xml in local sull'ftp.
Se punto invece al link no e mi restituisce una pagina bianca.
Forse è li il problema? Come devo puntare il link?
 
Ultima modifica:

anco93

Nuovo Utente
21 Lug 2018
12
0
1
Ho risolto così:

PHP:
$curl_handle=curl_init();
curl_setopt($curl_handle, CURLOPT_URL,'http://api.wunderground.com/api/26d116fabae3e597/conditions/q/PWS:IROCCADI23.xml');
curl_setopt($curl_handle, CURLOPT_CONNECTTIMEOUT, 2);
curl_setopt($curl_handle, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($curl_handle, CURLOPT_USERAGENT, 'Mozilla/5.0 (Windows NT 6.1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/41.0.2228.0 Safari/537.36');
$response = curl_exec($curl_handle);
curl_close($curl_handle);

//var_dump($response);

$xml = simplexml_load_string($response);

echo $xml->current_observation->temp_c . "<br />";
 
Ultima modifica di un moderatore:
Autore Discussioni simili Forum Risposte Data
C PHP 21
S PHP 4
S PHP 2
C PHP 2
A PHP 12