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 __autoload函数(自动载入类文件)的使用方法
Feb 04 PHP
使用PHP计算两个路径的相对路径
Jun 14 PHP
解析php如何将日志写进syslog
Jun 28 PHP
ThinkPHP使用心得分享-上传类UploadFile的使用
May 15 PHP
PHP 生成N个不重复的随机数
Jan 21 PHP
php从文件夹随机读取文件的方法
Jun 01 PHP
PHP实现中国公民身份证号码有效性验证示例代码
May 03 PHP
Ubuntu 16.04中Laravel5.4升级到5.6的步骤
Dec 07 PHP
laravel框架如何设置公共头和公共尾
Oct 22 PHP
PHP单元测试配置与使用方法详解
Dec 27 PHP
禁止直接访问php文件代码分享
May 05 PHP
浅谈如何提高PHP代码质量之单元测试
May 28 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
提问的智慧
2006/10/09 PHP
php在项目中寻找代码的坏味道(综艺命名)
2012/07/19 PHP
探讨GDFONTPATH能否被winxp下的php支持
2013/06/21 PHP
Yii2主题(Theme)用法详解
2016/07/23 PHP
浅谈关于PHP解决图片无损压缩的问题
2017/09/01 PHP
PHP中register_shutdown_function函数的基础介绍与用法详解
2017/11/28 PHP
redis+php实现微博(三)微博列表功能详解
2019/09/23 PHP
浅析PHP echo 和 print 语句
2020/06/30 PHP
获取Javscript执行函数名称的方法
2006/12/22 Javascript
js form 验证函数 当前比较流行的错误提示
2009/06/23 Javascript
基于jQuery的弹出框插件
2012/03/18 Javascript
如何使用jquery动态加载js,css文件实现代码
2013/04/03 Javascript
jquery 简单应用示例总结
2013/08/09 Javascript
一个简单的jQuery计算器实现了连续计算功能
2014/07/21 Javascript
JavaScript charCodeAt方法入门实例(用于取得指定位置字符的Unicode编码)
2014/10/17 Javascript
jQuery中offset()方法用法实例
2015/01/16 Javascript
JS两个数组比较,删除重复值的巧妙方法(推荐)
2016/06/03 Javascript
轻松掌握JavaScript单例模式
2016/08/25 Javascript
JavaScript的new date等日期函数在safari中遇到的坑
2016/10/24 Javascript
vue如何判断dom的class
2018/04/26 Javascript
layui 优化button按钮和弹出框的方法
2018/08/15 Javascript
微信小程序实现登录注册tab切换效果
2020/12/29 Javascript
javascript对HTML字符转义与反转义
2018/12/13 Javascript
elementui更改el-dialog关闭按钮的图标d的示例代码
2020/08/04 Javascript
使用BeautifulSoup爬虫程序获取百度搜索结果的标题和url示例
2014/01/19 Python
Python cookbook(数据结构与算法)从字典中提取子集的方法示例
2018/03/22 Python
Python 中list ,set,dict的大规模查找效率对比详解
2019/10/11 Python
python 微信好友特征数据分析及可视化
2020/01/07 Python
详解css3中 text-fill-color属性
2019/07/08 HTML / CSS
英国皇家造币厂:The Royal Mint
2018/10/05 全球购物
德国游戏机商店:Konsolenkost
2019/12/08 全球购物
班组长工作职责
2013/12/25 职场文书
五一口号
2014/06/19 职场文书
2016年共产党员个人承诺书
2016/03/24 职场文书
何时使用Map来代替普通的JS对象
2021/04/29 Javascript
java基础——多线程
2021/07/03 Java/Android