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 相关文章推荐
用PHP和ACCESS写聊天室(八)
Oct 09 PHP
php仿ZOL分页类代码
Oct 02 PHP
PHP对接微信公众平台消息接口开发流程教程
Mar 25 PHP
PHP内存缓存Memcached类实例
Dec 08 PHP
php启用sphinx全文搜索的实现方法
Dec 24 PHP
Yii学习总结之安装配置
Feb 22 PHP
PHP动态柱状图实现方法
Mar 30 PHP
php生成zip文件类实例
Apr 07 PHP
PHP+jQuery翻板抽奖功能实现
Oct 19 PHP
php自定义函数实现二维数组排序功能
Jul 20 PHP
thinkphp利用模型通用数据编辑添加和删除的实例代码
Nov 20 PHP
PHP实现的大文件切割与合并功能示例
Apr 10 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的ASP防火墙
2006/10/09 PHP
PHP中获取时间的下一周下个月的方法
2014/03/18 PHP
WordPress中限制非管理员用户在文章后只能评论一次
2015/12/31 PHP
php实现爬取和分析知乎用户数据
2016/01/26 PHP
Laravel统一错误处理为JSON的方法介绍
2020/10/18 PHP
ie下jquery.getJSON的缓存问题的处理方法
2013/03/29 Javascript
jquery实现简单实用的弹出层效果代码
2015/10/15 Javascript
快速解决js动态改变dom元素属性后页面及时渲染的问题
2016/07/06 Javascript
JS在Chrome浏览器中showModalDialog函数返回值为undefined的解决方法
2016/08/03 Javascript
Bootstrap面板(Panels)的简单实现代码
2017/03/17 Javascript
JS验证全角与半角及相互转化的介绍
2017/05/18 Javascript
JavaScript实现图片无缝滚动效果
2017/07/07 Javascript
JS实现登录页密码的显示和隐藏功能
2017/12/06 Javascript
Webpack实战加载SVG的方法
2017/12/26 Javascript
webpack实用小功能介绍
2018/01/02 Javascript
JavaScript 继承 封装 多态实现及原理详解
2019/07/29 Javascript
JQuery实现折叠式菜单的详细代码
2020/06/03 jQuery
uniapp实现横向滚动选择日期
2020/10/21 Javascript
Vue + ts实现轮播插件的示例
2020/11/10 Javascript
[01:09]DOTA2次级职业联赛 - 99战队宣传片
2014/12/01 DOTA
django 自定义用户user模型的三种方法
2014/11/18 Python
Python版微信红包分配算法
2015/05/04 Python
python在不同层级目录import模块的方法
2016/01/31 Python
关于sys.stdout和print的区别详解
2019/12/05 Python
Python如何在单元测试中给对象打补丁
2020/08/03 Python
python 代码运行时间获取方式详解
2020/09/18 Python
使用css3和jquery实现可伸缩搜索框
2014/02/12 HTML / CSS
HTML5 解决苹果手机不能自动播放音乐问题
2017/12/27 HTML / CSS
语文教育专业应届生求职信
2013/11/23 职场文书
思想政治教育专业个人求职信范文
2013/12/20 职场文书
乡镇四风对照检查材料
2014/08/31 职场文书
《伯牙绝弦》教学反思
2016/02/16 职场文书
同学聚会开幕词
2019/04/02 职场文书
7个你应该知道的JS原生错误类型
2021/04/29 Javascript
MySQL主从搭建(多主一从)的实现思路与步骤
2021/05/13 MySQL
从QQtabBar看css命名规范BEM的详细介绍
2021/08/07 HTML / CSS