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 5昨天隆重推出--PHP 5/Zend Engine 2.0新特性
Oct 09 PHP
discuz论坛 用户登录 后台程序代码
Nov 27 PHP
PHP6 mysql连接方式说明
Feb 09 PHP
php的memcached客户端memcached
Jun 14 PHP
PHP 第三节 变量介绍
Apr 28 PHP
PHP实现邮件群发的源码
Jun 18 PHP
PHP使用ob_start生成html页面的方法
Nov 07 PHP
thinkPHP实现瀑布流的方法
Nov 29 PHP
PHP 等比例缩放图片详解及实例代码
Sep 18 PHP
支付宝支付开发――当面付条码支付和扫码支付实例
Nov 04 PHP
PHP的PDO连接讲解
Jan 24 PHP
PHP fopen函数用法实例讲解
Feb 15 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 和 COM
2006/10/09 PHP
关于session在PHP5的配置文件中的详细设置参数说明
2011/04/20 PHP
解析php类的注册与自动加载
2013/07/05 PHP
php常量详细解析
2015/10/27 PHP
php实现按天数、星期、月份查询的搜索框
2016/05/02 PHP
javascript 对象比较实现代码
2009/04/27 Javascript
javascript form 验证函数 弹出对话框形式
2009/06/23 Javascript
javascript数组快速打乱重排的方法
2014/01/02 Javascript
从零学jquery之如何使用回调函数
2014/05/16 Javascript
jQuery实现简单隔行变色的方法
2016/02/20 Javascript
bootstrap组件之导航组件使用方法
2017/01/19 Javascript
JavaScript中无法通过div.style.left获取值的解决方法
2017/02/19 Javascript
从零学习node.js之express入门(六)
2017/02/25 Javascript
详解用webpack2.0构建vue2.0超详细精简版
2017/04/05 Javascript
详解Javascript获取缓存和清除缓存API
2017/05/25 Javascript
JS判断一个数是否是水仙花数
2017/06/11 Javascript
Easyui和zTree两种方式分别实现树形下拉框
2017/08/04 Javascript
深入研究React中setState源码
2017/11/17 Javascript
vue单页应用的内存泄露定位和修复问题小结
2019/08/02 Javascript
让mocha支持ES6模块的方法实现
2020/01/14 Javascript
Python3 模块、包调用&amp;路径详解
2017/10/25 Python
python编程之requests在网络请求中添加cookies参数方法详解
2017/10/25 Python
python定时关机小脚本
2018/06/20 Python
python 提取key 为中文的json 串方法
2018/12/31 Python
Python 学习教程之networkx
2019/04/15 Python
Python使用指定字符长度切分数据示例
2019/12/05 Python
Python轻量级web框架bottle使用方法解析
2020/06/13 Python
浅谈Python描述数据结构之KMP篇
2020/09/06 Python
python 实用工具状态机transitions
2020/11/21 Python
英国领先的电子、技术和办公用品购物网站:Ebuyer
2018/04/04 全球购物
奥地利购买珠宝和手表网站:ELLA JUWELEN
2019/09/03 全球购物
生物工程专业求职信
2014/09/03 职场文书
2016年世界人口日宣传活动总结
2016/04/05 职场文书
Python提取PDF指定内容并生成新文件
2021/06/09 Python
利用 SQL Server 过滤索引提高查询语句的性能分析
2021/07/15 SQL Server
Linux、ubuntu系统下查看显卡型号、显卡信息详解
2022/04/07 Servers