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中利用XML技术构造远程服务(下)
Oct 09 PHP
用Socket发送电子邮件(利用需要验证的SMTP服务器)
Oct 09 PHP
NOT NULL 和NULL
Jan 15 PHP
PHP中创建空文件的代码[file_put_contents vs touch]
Jan 20 PHP
PHP删除HTMl标签的三种解决方法
Jun 30 PHP
php url路由入门实例
Apr 23 PHP
PHP判断数据库中的记录是否存在的方法
Nov 14 PHP
分享常见的几种页面静态化的方法
Jan 08 PHP
PHP5全版本绕过open_basedir读文件脚本漏洞详细介绍
Jan 20 PHP
两种php给图片加水印的实现代码
Apr 18 PHP
php实现Session存储到Redis
Nov 11 PHP
3种php生成唯一id的方法
Nov 23 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中数组首字符过滤功能代码
2012/07/31 PHP
解析php做推送服务端实现ios消息推送
2013/07/01 PHP
php树型类实例
2014/12/05 PHP
PHP curl CURLOPT_RETURNTRANSFER参数的作用使用实例
2015/02/07 PHP
PHP生成json和xml类型接口数据格式
2015/05/17 PHP
PHP查询并删除数据库多列重复数据的方法(利用数组函数实现)
2016/02/23 PHP
无需数据库在线投票调查php代码
2016/07/20 PHP
解决laravel id非自增 模型取回为0 的问题
2019/10/11 PHP
JavaScript使用原型和原型链实现对象继承的方法详解
2017/04/05 Javascript
基于vue.js快速搭建图书管理平台
2017/10/29 Javascript
vue 实现通过手机发送短信验证码注册功能
2018/04/19 Javascript
vue富文本框(插入文本、图片、视频)的使用及问题小结
2018/08/17 Javascript
如何用Node写页面爬虫的工具集
2018/10/26 Javascript
详解微信图片防盗链“此图片来自微信公众平台 未经允许不得引用”的解决方案
2019/04/04 Javascript
vue 使用外部JS与调用原生API操作示例
2019/12/02 Javascript
Openlayers+EasyUI Tree动态实现图层控制
2020/09/28 Javascript
vue 避免变量赋值后双向绑定的操作
2020/11/07 Javascript
举例详解Python中threading模块的几个常用方法
2015/06/18 Python
基于Python Shell获取hostname和fqdn释疑
2016/01/25 Python
python魔法方法-属性访问控制详解
2016/07/25 Python
python通过paramiko复制远程文件及文件目录到本地
2019/04/30 Python
python的turtle库使用详解
2019/05/10 Python
python写日志文件操作类与应用示例
2019/07/01 Python
python数据预处理 :数据共线性处理详解
2020/02/24 Python
python删除某个目录文件夹的方法
2020/05/26 Python
Python字典取键、值对的方法步骤
2020/09/30 Python
pycharm 关闭search everywhere的解决操作
2021/01/15 Python
Myprotein蛋白粉美国官网:欧洲畅销运动营养品牌
2016/11/15 全球购物
电气工程及其自动化自我评价四篇
2013/09/24 职场文书
应届毕业生应聘自荐信
2013/12/07 职场文书
护士实习生自我鉴定范文
2013/12/10 职场文书
《画风》教学反思
2014/04/16 职场文书
青年志愿者活动总结
2014/04/26 职场文书
幼儿园国培研修日志
2015/11/13 职场文书
干货!开幕词的写作方法
2019/04/02 职场文书
Pyhton模块和包相关知识总结
2021/05/12 Python