I have a problem with my xml-php-script. XML doc: http://www.yr.no/place/Sweden/Stockholm/Stockholm/forecast.xml
$xmlstr = "http://www.yr.no/place/Sweden/Stockholm/Stockholm/forecast.xml";
//$vader = new SimpleXMLElement($xmlstr);
$vader = simplexml_load_file($xmlstr);
foreach ($vader->forecast->tabular->time->temperature as $temp) {
echo $temp->temperature, ' ', $temp->windSpeed, PHP_EOL;
}
I want temperature in a variable named: $temp
There are multiple <time>
s, so you can loop those. Also, the temperature
and windSpeed
are in attributes.
foreach ($vader->forecast->tabular->time as $time) {
echo $time->temperature->attributes()->value, ' ', $time->windSpeed->attributes()->mps, PHP_EOL;
// or store temperature in a variable?
// $temp = $time->temperature;
// echo $temp->attributes()->value; // 14
// echo $temp->attributes()->unit; // celcius
}
Or to access just the first <time>
:
echo $vader->forecast->tabular->time[0]->temperature->attributes()->value;
echo $vader->forecast->tabular->time[0]->windSpeed->attributes()->mps;
If you are getting output
echo $temp->temperature, ' ', $temp->windSpeed, PHP_EOL;
from this then you can get tenperature values as below
PHP Code :
$temp_array = array();
$tempt_str = ''
$i = 0;
foreach ($vader->forecast->tabular->time->temperature as $temp) {
$tempt_str .= 'temperature : '.$temp->temperature.''.'windSpeed : '.$temp->windSpeed.'<br/>';
$temp_array[$i]['temperature'] = $temp->temperature;
$temp_array[$i]['windSpeed'] = $temp->windSpeed;
}