PHP将XML转数组过程详解


Posted in PHP onNovember 13, 2013

得到一个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] => 放大率拉德斯基分拉沙德疯了似的看法拉斯法
        )
PHP 相关文章推荐
使用MaxMind 根据IP地址对访问者定位
Oct 09 PHP
php桌面中心(二) 数据库写入
Mar 11 PHP
上传文件先创建目录 再上传到目录里面去
Dec 29 PHP
PHP中将ip地址转成十进制数的两种实用方法
Aug 15 PHP
PHP开发中常见的安全问题详解和解决方法(如Sql注入、CSRF、Xss、CC等)
Apr 21 PHP
php以fastCGI的方式运行时文件系统权限问题及解决方法
May 11 PHP
举例讲解PHP面对对象编程的多态
Aug 12 PHP
Laravel使用Caching缓存数据减轻数据库查询压力的方法
Mar 15 PHP
PHP简单获取及判断提交来源的方法
Apr 22 PHP
PHP给前端返回一个JSON对象的实例讲解
May 31 PHP
PHP的new static和new self的区别与使用
Nov 27 PHP
PHP获取当前时间不准确问题解决方案
Aug 14 PHP
PHP生成sitemap.xml地图函数
Nov 13 #PHP
使用PHP静态变量当缓存的方法
Nov 13 #PHP
使用phpQuery采集网页的方法
Nov 13 #PHP
phpQuery占用内存过多的处理方法
Nov 13 #PHP
PHP反射类ReflectionClass和ReflectionObject的使用方法
Nov 13 #PHP
php堆排序(heapsort)练习
Nov 13 #PHP
php生成EAN_13标准条形码实例
Nov 13 #PHP
You might like
php根据身份证号码计算年龄的实例代码
2014/01/18 PHP
用PHP和Shell写Hadoop的MapReduce程序
2014/04/15 PHP
php将文本文件转换csv输出的方法
2014/12/31 PHP
PHP实现对png图像进行缩放的方法(支持透明背景)
2015/07/15 PHP
php获取今日开始时间和结束时间的方法
2017/02/27 PHP
phpstorm最新激活码分享亲测phpstorm2020.2.3版可用
2020/11/22 PHP
删除重复数据的算法
2006/11/23 Javascript
js 函数调用模式小结
2011/12/26 Javascript
JS的document.all函数使用示例
2013/12/30 Javascript
利用js实现禁止复制文本信息
2015/06/03 Javascript
限制只能输入数字的实现代码
2016/05/16 Javascript
Node.js 使用流实现读写同步边读边写功能
2017/09/11 Javascript
vuex操作state对象的实例代码
2018/04/25 Javascript
nodeJs项目在阿里云的简单部署
2020/11/27 NodeJs
JS操作JSON常用方法(10w阅读)
2020/12/06 Javascript
一个基于flask的web应用诞生 记录用户账户登录状态(6)
2017/04/11 Python
Python Numpy计算各类距离的方法
2019/07/05 Python
Pytorch 计算误判率,计算准确率,计算召回率的例子
2020/01/18 Python
Python *args和**kwargs用法实例解析
2020/03/02 Python
python 通过邮件控制实现远程控制电脑操作
2020/03/16 Python
HTML5中视频音频的使用详解
2017/07/07 HTML / CSS
HTML5本地存储之Web Storage应用介绍
2013/01/06 HTML / CSS
蔻驰西班牙官网:COACH西班牙
2019/01/16 全球购物
红旗方阵解说词
2014/02/12 职场文书
铁路安全事故反思
2014/04/26 职场文书
推荐信格式要求
2014/05/09 职场文书
财务人员担保书
2014/05/13 职场文书
医学求职自荐信
2014/06/21 职场文书
博士生导师推荐信
2014/07/08 职场文书
办公室班子四风问题对照检查材料
2014/10/04 职场文书
践行三严三实心得体会
2014/10/13 职场文书
就业意向协议书
2015/01/29 职场文书
台风停课通知
2015/04/24 职场文书
学校运动会简讯
2015/07/20 职场文书
阿里云Nginx配置https实现域名访问项目(图文教程)
2021/03/31 Servers
Python实现猜拳与猜数字游戏的方法详解
2022/04/06 Python