Home > Backend Development > PHP Tutorial > php对xml的操作非常简单,急

php对xml的操作非常简单,急

WBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWB
Release: 2016-06-23 13:58:05
Original
796 people have browsed it

http://api.map.baidu.com/telematics/v3/weather?location=北京&output=xml&ak=gfPnxaaiPyNIhM7c3eZ1kmEL
Copy after login

这个得到XML 如何把currentCity节点的值赋给$city,循环检索weather_data下的所有节点,赋值给数组 -》$date ,给$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);
Copy after login
Copy after login
北京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"}
Copy after login
Copy after login

$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);
Copy after login
Copy after login
北京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"}
Copy after login
Copy after login

Parse error: syntax error, unexpected '[', expecting ',' or ';'

我的代码都是经实测验证的!
不然也贴不出结果来

我的代码都是经实测验证的!
不然也贴不出结果来

不要发怒嘛,我这边就是这个错误啊,貌似是括号有问题

我的代码都是经实测验证的!
不然也贴不出结果来

OK了,貌似要分开写的不能直接echo $city = $xml->xpath('//currentCity')[0];

可以这样
$city = $xml->xpath('//currentCity');
echo $city[0];

那是你的问题呀
再说,错误信息也得贴全了吧,不然别人如何判断问题所在?

想来是你的 php 版本太低了
$city = $xml->xpath('//currentCity')[0];
改为
$city = current($xml->xpath('//currentCity'));

那是你的问题呀
再说,错误信息也得贴全了吧,不然别人如何判断问题所在?

想来是你的 php 版本太低了
$city = $xml->xpath('//currentCity')[0];
改为
$city = current($xml->xpath('//currentCity'));

菜鸟完全不会啊,还请版主见谅啊

foreach($xml->xpath('//weather_data') as $r) {$date = (array)$r->date;print_r($date);}
Copy after login

这样子写的话为什么只有一行数据北京
2014-04-25
Array ( [0] => 周五(今天, 实时:24℃) ) 
应该周六,周日都出来的啊

Related labels:
source:php.cn
Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template