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学习之php4与php5之间会穿梭一点点感悟
May 03 PHP
PHP图片验证码制作实现分享(全)
May 10 PHP
基于php下载文件的详解
Jun 02 PHP
php 启动时报错的简单解决方法
Jan 27 PHP
PHP JSON出错:Cannot use object of type stdClass as array解决方法
Aug 16 PHP
php基于base64解码图片与加密图片还原实例
Nov 03 PHP
PHP中返回引用类型的方法
Apr 03 PHP
实例讲解PHP设计模式编程中的简单工厂模式
Feb 29 PHP
PHP使用curl模拟post上传及接收文件的方法
Mar 04 PHP
PHP聊天室简单实现方法详解
Dec 08 PHP
php二维数组按某个键值排序的实例讲解
Feb 15 PHP
PHP基于phpqrcode类生成二维码的方法示例详解
Aug 07 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随机生成福彩双色球号码的2种方法
2013/02/04 PHP
php使用正则表达式提取字符串中尖括号、小括号、中括号、大括号中的字符串
2020/04/05 PHP
php遍历数组的4种方法总结
2014/07/05 PHP
php异步多线程swoole用法实例
2014/11/14 PHP
php中的动态调用实例分析
2015/01/07 PHP
新浪SAE搭建PHP项目教程
2015/01/28 PHP
使用PHP similar text计算两个字符串相似度
2015/11/06 PHP
thinkPHP批量删除的实现方法分析
2016/11/09 PHP
PHP实现二维数组去重功能示例
2017/01/12 PHP
Yii2中简单的场景使用介绍
2017/06/02 PHP
关于ThinkPHP中的异常处理详解
2018/05/11 PHP
用jQuery打造TabPanel效果代码
2010/05/22 Javascript
Jquery:ajax实现翻页无刷新功能代码
2013/08/05 Javascript
使用jQuery获得内容以及内容的属性
2015/02/26 Javascript
使用EVAL处理jqchart jquery 折线图返回数据无效的解决办法
2015/11/26 Javascript
JS在浏览器中解析Base64编码图像
2017/02/09 Javascript
利用js的闭包原理做对象封装及调用方法
2017/04/07 Javascript
微信小程序上滑加载下拉刷新(onscrollLower)分批加载数据(二)
2017/05/11 Javascript
详解layui弹窗父子窗口之间传参数的方法
2018/01/16 Javascript
JS中Promise函数then的奥秘探究
2018/07/30 Javascript
JS中通过url动态获取图片大小的方法小结(两种方法)
2018/10/31 Javascript
vue中使用codemirror的实例详解
2018/11/01 Javascript
javascript跳转与返回和刷新页面的实例代码
2019/11/20 Javascript
Vue实现点击当前元素以外的地方隐藏当前元素(实现思路)
2019/12/04 Javascript
django表单实现下拉框的示例讲解
2018/05/29 Python
Python实现聊天机器人的示例代码
2018/07/09 Python
Python访问MongoDB,并且转换成Dataframe的方法
2018/10/15 Python
pycharm实现print输出保存到txt文件
2020/06/01 Python
Python flask框架如何显示图像到web页面
2020/06/03 Python
泰国折扣酒店预订:Hotels2Thailand
2018/03/20 全球购物
现代生活方式的家具和装饰:Dot & Bo
2018/12/26 全球购物
小学教育毕业生自荐信
2013/11/18 职场文书
《池塘边的叫声》教学反思
2014/04/12 职场文书
消防志愿者活动方案
2014/08/23 职场文书
python cv2图像质量压缩的算法示例
2021/06/04 Python
Go 语言结构实例分析
2021/07/04 Golang