PHP简单实现解析xml为数组的方法


Posted in PHP onMay 02, 2018

本文实例讲述了PHP简单实现解析xml为数组的方法。分享给大家供大家参考,具体如下:

最近想要做一个插件机制,需要用到xml,在解析xml时候需要转换为数组,特意记录一个此种解析方式

xmlDemo.xml文件:

<?xml version="1.0" encoding="UTF-8"?>
<main xmlns="http://www.xiaoetongo.cn" versionCode="1.0">
<controller co="Aritles">
<meth title="测试插件" do="aritle"/>
</controller>
<controller co="Ari">
<meth title="测试插件" do="ar"/>
<meth title="测试插件" do="a"/>
</controller>
<install><![CDATA[]]></install>
<upgrade><![CDATA[]]></upgrade>
</main>

php代码:

<?php
$xmls=file_get_contents("xmlDemo.xml");
$xml =simplexml_load_string($xmls);
$xmljson= json_encode($xml);
$xml=json_decode($xmljson,true);
var_dump($xml);

运行结果:

array(4) {
 ["@attributes"]=>
 array(1) {
  ["versionCode"]=>
  string(3) "1.0"
 }
 ["controller"]=>
 array(2) {
  [0]=>
  array(2) {
   ["@attributes"]=>
   array(1) {
    ["co"]=>
    string(7) "Aritles"
   }
   ["meth"]=>
   array(1) {
    ["@attributes"]=>
    array(2) {
     ["title"]=>
     string(12) "测试插件"
     ["do"]=>
     string(6) "aritle"
    }
   }
  }
  [1]=>
  array(2) {
   ["@attributes"]=>
   array(1) {
    ["co"]=>
    string(3) "Ari"
   }
   ["meth"]=>
   array(2) {
    [0]=>
    array(1) {
     ["@attributes"]=>
     array(2) {
      ["title"]=>
      string(12) "测试插件"
      ["do"]=>
      string(2) "ar"
     }
    }
    [1]=>
    array(1) {
     ["@attributes"]=>
     array(2) {
      ["title"]=>
      string(12) "测试插件"
      ["do"]=>
      string(1) "a"
     }
    }
   }
  }
 }
 ["install"]=>
 array(0) {
 }
 ["upgrade"]=>
 array(0) {
 }
}
PHP 相关文章推荐
用PHP实现登陆验证码(类似条行码状)
Oct 09 PHP
基于Windows下Apache PHP5.3.1安装教程
Jan 08 PHP
Yii2中使用join、joinwith多表关联查询
Jun 30 PHP
php版微信js-sdk支付接口类用法示例
Oct 12 PHP
php性能分析之php-fpm慢执行日志slow log用法浅析
Oct 17 PHP
简单解决微信文章图片防盗链问题
Dec 17 PHP
PHP对象相关知识总结
Apr 09 PHP
PHP 实现页面静态化的几种方法
Jul 23 PHP
ubutu 16.04环境下,PHP与mysql数据库,网页登录验证实例讲解
Jul 20 PHP
PHP 实现文件压缩解压操作的方法
Jun 14 PHP
php use和include区别总结
Oct 13 PHP
TP - 比RBAC更好的权限认证方式(Auth类认证)
Mar 09 PHP
PHP实现动态压缩js与css文件的方法
May 02 #PHP
Yii2框架数据验证操作实例详解
May 02 #PHP
Yii2框架类自动加载机制实例分析
May 02 #PHP
PHP通过bypass disable functions执行系统命令的方法汇总
May 02 #PHP
购物车实现的几种方式优缺点对比
May 02 #PHP
PHP生成(支持多模板)二维码海报代码
Apr 30 #PHP
PHP实现的猴王算法(猴子选大王)示例
Apr 30 #PHP
You might like
PHP+JS+rsa数据加密传输实现代码
2011/03/23 PHP
浅谈PHP变量作用域以及地址引用问题
2013/12/27 PHP
PHP编程风格规范分享
2014/01/15 PHP
PHP return语句另类用法不止是在函数中
2014/09/17 PHP
php定义参数数量可变的函数用法实例
2015/03/16 PHP
PHP调试的强悍利器之PHPDBG
2016/02/22 PHP
jquery load()在firefox(火狐)下显示不正常的解决方法
2011/04/05 Javascript
关于JavaScript的面向对象和继承有利新手学习
2013/01/11 Javascript
ie 7/8不支持trim的属性的解决方案
2014/05/23 Javascript
json格式数据的添加,删除及排序方法
2016/01/21 Javascript
jQuery无刷新上传之uploadify3.1简单使用
2016/06/18 Javascript
AngularJS过滤器filter用法总结
2016/12/13 Javascript
angularjs 实现带查找筛选功能的select下拉框实例
2017/01/11 Javascript
vue2.0中vue-cli实现全选、单选计算总价格的实例代码
2017/07/18 Javascript
详解Vue-Cli 异步加载数据的一些注意点
2017/08/12 Javascript
微信小程序冒泡事件及其阻止方法实例分析
2018/12/06 Javascript
Vue和React组件之间的传值方式详解
2019/01/31 Javascript
Python读写文件方法总结
2015/06/09 Python
Python自动扫雷实现方法
2015/07/25 Python
Python编程django实现同一个ip十分钟内只能注册一次
2017/11/03 Python
django表单实现下拉框的示例讲解
2018/05/29 Python
Python中PyQt5/PySide2的按钮控件使用实例
2019/08/17 Python
python安装后的目录在哪里
2020/06/21 Python
Ubuntu16安装Python3.9的实现步骤
2020/12/15 Python
吉列剃须刀英国官网:Gillette英国
2019/03/28 全球购物
速比涛英国官网:Speedo英国
2019/07/15 全球购物
广告设计专业自荐信范文
2013/11/14 职场文书
师范院校学生自荐信范文
2013/12/27 职场文书
毕业生的自我评价范文
2013/12/31 职场文书
全国道德模范事迹
2014/02/01 职场文书
岗位标兵事迹材料
2014/05/17 职场文书
建筑安全生产目标责任书
2014/07/23 职场文书
检讨书怎么写
2015/05/07 职场文书
深入浅析React中diff算法
2021/05/19 Javascript
python 解决微分方程的操作(数值解法)
2021/05/26 Python
超越Nginx的Web服务器caddy优雅用法
2022/06/21 Servers