PHP将XML转数组过程详解

开发技术 作者: 2024-08-07 23:25:01
本文讲的是用PHP将XML对象转换成数组的方法

得到一个xml型的对象:

代码如下:
$resp = $this->c->execute($req,$sessionKey);//获得xml对象
$items=$resp->items;

那么读取对象的值,就用$items->item,或者$items->item->price,如此操作很不方便,不符合PHP操作数组的习惯。

PHP提供了array方法将对象转换成数组,只要把你要转换数组的对象前面加上(array)就行了。

比如将$items->item(有很多item的对象)转换成数组:

代码如下:
foreach ($items->item as $item){
$goods[]=(array)$item;
}

$goods就是一个PHP数组了。
转换前:
代码如下:
SimpleXMLElement Object
(
[cid] => 50003793
[modified] => 2013-04-18 17:16:25
[nick] => qq307819623
[price] => 200.00
[title] => Nokia N97全新行货
)
SimpleXMLElement Object
(
[cid] => 50024921
[modified] => 2013-04-18 16:58:06
[nick] => qq307819623
[pic_url] =>pic.jpg
[price] => 888888.00
[title] => 刘俊仲
)
SimpleXMLElement Object
(
[cid] => 1512
[modified] => 2013-04-18 16:56:46
[nick] => qq307819623
[pic_url] => item_pic.jpg
[price] => 323232.00
[title] => 二手你好
)
SimpleXMLElement Object
(
[cid] => 50012166
[modified] => 2013-04-18 15:10:07
[nick] => qq307819623
[pic_url] =>0-item_pic.jpg
[price] => 32.00
[title] => 放大率拉德斯基分拉沙德疯了似的看法拉斯法
)

转换后:
代码如下:
Array
(
[0] => Array
(
[cid] => 50003793
[modified] => 2013-04-18 17:16:25
[nick] => qq307819623
[price] => 200.00
[title] => Nokia N97全新行货
) [1] => Array
(
[cid] => 50024921
[modified] => 2013-04-18 16:58:06
[nick] => qq307819623
[pic_url] => pic.jpg
[price] => 888888.00
[title] => 刘俊仲
) [2] => Array
(
[cid] => 1512
[modified] => 2013-04-18 16:56:46
[nick] => qq307819623
[pic_url] =>item_pic.jpg
[price] => 323232.00
[title] => 二手你好
) [3] => Array
(
[cid] => 50012166
[modified] => 2013-04-18 15:10:07
[nick] => qq307819623
[pic_url] => 0-item_pic.jpg
[price] => 32.00
[title] => 放大率拉德斯基分拉沙德疯了似的看法拉斯法
)

原创声明
本站部分文章基于互联网的整理,我们会把真正“有用/优质”的文章整理提供给各位开发者。本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
本文链接:http://www.jiecseo.com/news/show_58286.html
PHP XML 数组