php实现xml转换数组的方法示例


Posted in PHP onFebruary 03, 2017

本文实例讲述了php实现xml转换数组的方法。分享给大家供大家参考,具体如下:

<?php
$info = '<?xml version="1.0" encoding="utf-8" ?>
      <data>
        <GeocoderSearchResponse>
          <status>OK</status>
          <result>
            <location>
              <lat>39.94921</lat>
              <lng>116.463619</lng>
            </location>
          <precise>0</precise>
          <confidence>50</confidence>
          <level>脚本</level>
          </result>
        </GeocoderSearchResponse>
        <GeocoderSearchResponse>
          <status>OK</status>
          <result>
            <location>
              <lat>39</lat>
              <lng>116</lng>
            </location>
          <precise>0</precise>
          <confidence>50</confidence>
          <level>脚本123</level>
          </result>
        </GeocoderSearchResponse>
      </data>';
$xml = simplexml_load_string($info);
function xml2array($xmlobject) {
  if ($xmlobject) {
    foreach ((array)$xmlobject as $k=>$v) {
      $data[$k] = !is_string($v) ? xml2array($v) : $v;
    }
    return $data;
  }
}
$data = xml2array($xml);
var_dump($data);
?>

运行结果如下:

array(1) {
 ["GeocoderSearchResponse"]=>
 array(2) {
  [0]=>
  array(2) {
   ["status"]=>
   string(2) "OK"
   ["result"]=>
   array(4) {
    ["location"]=>
    array(2) {
     ["lat"]=>
     string(8) "39.94921"
     ["lng"]=>
     string(10) "116.463619"
    }
    ["precise"]=>
    string(1) "0"
    ["confidence"]=>
    string(2) "50"
    ["level"]=>
    string(6) "脚本"
   }
  }
  [1]=>
  array(2) {
   ["status"]=>
   string(2) "OK"
   ["result"]=>
   array(4) {
    ["location"]=>
    array(2) {
     ["lat"]=>
     string(2) "39"
     ["lng"]=>
     string(3) "116"
    }
    ["precise"]=>
    string(1) "0"
    ["confidence"]=>
    string(2) "50"
    ["level"]=>
    string(9) "脚本123"
   }
  }
 }
}
PHP 相关文章推荐
BBS(php &amp; mysql)完整版(七)
Oct 09 PHP
PHP 处理图片的类实现代码
Oct 23 PHP
PHP网页游戏学习之Xnova(ogame)源码解读(十一)
Jun 25 PHP
PHP简单实现“相关文章推荐”功能的方法
Jul 19 PHP
ThinkPHP通过AJAX返回JSON的两种实现方法
Dec 18 PHP
php实现将Session写入数据库
Jul 26 PHP
Yii2使用swiftmailer发送邮件的方法
May 03 PHP
php时间函数用法分析
May 28 PHP
php中实现进程锁与多进程的方法
Sep 18 PHP
php制作基于xml的RSS订阅源功能示例
Feb 08 PHP
PHP面相对象中的重载与重写
Feb 13 PHP
Thinkphp框架使用list_to_tree 实现无限级分类列出所有节点示例
Apr 04 PHP
php删除txt文件指定行及按行读取txt文档数据的方法
Jan 30 #PHP
php指定长度分割字符串str_split函数用法示例
Jan 30 #PHP
php使用自定义函数实现汉字分割替换功能示例
Jan 30 #PHP
PHPExcel在linux环境下导出报500错误的解决方法
Jan 26 #PHP
超强多功能php绿色集成环境详解
Jan 25 #PHP
php 中奖概率算法实现代码
Jan 25 #PHP
PHP封装函数实现生成随机的字符串验证码
Jan 24 #PHP
You might like
php&amp;java(三)
2006/10/09 PHP
PHP各种异常和错误的拦截方法及发生致命错误时进行报警
2016/01/19 PHP
PHP静态成员变量和非静态成员变量详解
2017/02/14 PHP
激活 ActiveX 控件
2006/10/09 Javascript
jQuery前端框架easyui使用Dialog时bug处理
2014/12/05 Javascript
JS字符串长度判断,超出进行自动截取的实例(支持中文)
2017/03/06 Javascript
基于angular实现模拟微信小程序swiper组件
2017/06/11 Javascript
详解如何实现一个简单的 vuex
2018/02/10 Javascript
解决Js先触发失去焦点事件再执行点击事件的问题
2018/08/30 Javascript
create-react-app使用antd按需加载的样式无效问题的解决
2019/02/26 Javascript
使用vue-cli3新建一个项目并写好基本配置(推荐)
2019/04/24 Javascript
详解vue-cli3开发Chrome插件实践
2019/05/29 Javascript
实用Javascript调试技巧分享(小结)
2019/06/18 Javascript
JavaScript之scrollTop、scrollHeight、offsetTop、offsetHeight等属性学习笔记
2020/07/15 Javascript
Vue 列表页带参数进详情页的操作(router-link)
2020/11/13 Javascript
python实现数组插入新元素的方法
2015/05/22 Python
Python实现多线程抓取妹子图
2015/08/08 Python
Python入门学习之字符串与比较运算符
2015/10/12 Python
详解python中xlrd包的安装与处理Excel表格
2016/12/16 Python
Python实现判断一个字符串是否包含子串的方法总结
2017/11/21 Python
zookeeper python接口实例详解
2018/01/18 Python
Python实现的简单读写csv文件操作示例
2018/07/12 Python
Django进阶之CSRF的解决
2018/08/01 Python
使用python的pandas库读取csv文件保存至mysql数据库
2018/08/20 Python
Python中list循环遍历删除数据的正确方法
2019/09/02 Python
Python字符串中删除特定字符的方法
2020/01/15 Python
通过Python pyecharts输出保存图片代码实例
2020/11/25 Python
使用Python画了一棵圣诞树的实例代码
2020/11/27 Python
css3media响应式布局实例
2016/07/08 HTML / CSS
PHP笔试题
2012/02/22 面试题
演讲稿怎么写
2014/01/07 职场文书
酒店管理毕业生自我鉴定
2014/03/02 职场文书
小学毕业典礼主持词
2014/03/27 职场文书
岗位廉洁从政承诺书
2014/03/27 职场文书
毕业生政审意见范文
2015/06/04 职场文书
如何用JavaScipt测网速
2021/05/09 Javascript