【问题标题】:XML to PHP variablesXML 到 PHP 变量
【发布时间】:2013-06-19 11:15:23
【问题描述】:

我的 xml-php-script 有问题。 XML 文档: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;
}

我想要一个名为$temp的变量中的温度

【问题讨论】:

  • 嗨,谢谢我添加了天气数据,但还是不行。网址:soldagar.se/ajja.php
  • 不,你不应该添加weatherdata,因为那是根节点。看我的回答。

标签: php xml variables xml-parsing


【解决方案1】:

有多个<time>s,所以你可以循环它们。此外,temperaturewindSpeed 在属性中。

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
}

或者只访问第一个<time>

echo $vader->forecast->tabular->time[0]->temperature->attributes()->value;
echo $vader->forecast->tabular->time[0]->windSpeed->attributes()->mps;

【讨论】:

    【解决方案2】:

    如果你得到输出

    echo $temp->温度, ' ', $temp->windSpeed, PHP_EOL;

    然后你可以得到如下温度值

    PHP 代码:

        $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;
        }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2018-06-01
      • 2011-09-16
      • 1970-01-01
      • 2011-09-23
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多