日期:2014-05-16  浏览次数:20501 次

php对xml的操作非常简单,急急急
http://api.map.baidu.com/telematics/v3/weather?location=北京&output=xml&ak=gfPnxaaiPyNIhM7c3eZ1kmEL

这个得到XML 如何把currentCity节点的值赋给$city,循环检索weather_data下的所有节点,赋值给数组<date> -》$date ,<dayPictureUrl>给$dayPictureUrl。 
------解决方案--------------------
$url = 'http://api.map.baidu.com/telematics/v3/weather?location=北京&output=xml&ak=gfPnxaaiPyNIhM7c3eZ1kmEL';
$xml = simplexml_load_file($url);

echo $city = $xml->xpath('//currentCity')[0];
foreach($xml->xpath('//weather_data') as $r) {
  $date = (array)$r->date;
  $dayPictureUrl = (array)$r->dayPictureUrl;
}
var_dump($city, $date, $dayPictureUrl);
北京object(SimpleXMLElement)#2 (0) {
}
array(4) {
  [0]=>
  string(30) "周五(今天, 实时:24℃)"
  [1]=>
  string(6) "周六"
  [2]=>
  string(6) "周日"
  [3]=>
  string(6) "周一"
}
array(4) {
  [0]=>
  string(57) "http://api.map.baidu.com/images/weather/day/leizhenyu.png"
  [1]=>
  string(51) "http://api.map.baidu.com/images/weather/day/yin.png"
  [2]=>
  string(52) "http://api.map.baidu.com/images/weather/day/qing.png"
  [3]=>
  string(52) "http://api.map.baidu.com/images/weather/day/qing.png"
}