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 date函数参数详解
Nov 27 PHP
用PHP实现的生成静态HTML速度快类库
Mar 31 PHP
PHP随机字符串生成代码(包括大小写字母)
Jun 24 PHP
利用谷歌 Translate API制作自己的翻译脚本
Jun 04 PHP
php获取twitter最新消息的方法
Apr 14 PHP
php提取身份证号码中的生日日期以及验证是否为成年人的函数
Sep 29 PHP
PHP中PDO的事务处理分析
Apr 07 PHP
详谈php静态方法及普通方法的区别
Oct 04 PHP
微信公众号模板消息群发php代码示例
Dec 29 PHP
[原创]PHP实现SQL语句格式化功能的方法
Jul 28 PHP
修改Laravel自带的认证系统的User类的命名空间的步骤
Oct 15 PHP
PHP中关于php.ini参数优化详解
Feb 28 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 join函数应用
2011/05/04 PHP
PHP中数组合并的两种方法及区别介绍
2012/09/14 PHP
分享一则PHP定义函数代码
2015/02/26 PHP
php5.5使用PHPMailer-5.2发送邮件的完整步骤
2018/10/14 PHP
Javascript 获取字符串字节数的多种方法
2009/06/02 Javascript
javascript模拟select,jselect的方法实现
2012/11/08 Javascript
js汉字转拼音实现代码
2013/02/06 Javascript
js 有框架页面跳转(target)三种情况下的应用
2013/04/09 Javascript
JavaScript 学习笔记之变量及其作用域
2015/01/14 Javascript
HTML+CSS+JS实现完美兼容各大浏览器的TABLE固定列
2015/04/26 Javascript
浅谈JavaScript字符串拼接
2015/06/25 Javascript
使用struts2+Ajax+jquery验证用户名是否已被注册
2016/03/22 Javascript
JS实现经典的中国地区三级联动下拉菜单功能实例【测试可用】
2017/06/06 Javascript
iview table render集成switch开关的实例
2018/03/14 Javascript
vue实现a标签点击高亮方法
2018/03/17 Javascript
微信小程序实现登录遮罩效果
2018/11/01 Javascript
微信小程序点击滚动到指定位置的实现
2020/05/22 Javascript
原生JS利用transform实现banner的无限滚动示例代码
2020/06/15 Javascript
关于vue属性使用和不使用冒号的区别说明
2020/10/22 Javascript
python文件的md5加密方法
2016/04/06 Python
Python及Django框架生成二维码的方法分析
2018/01/31 Python
对python中的装包与解包实例详解
2019/08/24 Python
在pycharm中显示python画的图方法
2019/08/31 Python
opencv+python实现均值滤波
2020/02/19 Python
装上这 14 个插件后,PyCharm 真的是无敌的存在
2021/01/11 Python
什么时候用assert
2015/05/08 面试题
人事专员岗位职责说明书
2014/07/30 职场文书
医药销售自我评价200字
2014/09/11 职场文书
小学生竞选班干部演讲稿(5篇)
2014/09/12 职场文书
2014年采购部工作总结
2014/11/20 职场文书
优秀班集体事迹材料
2014/12/25 职场文书
2015年农村党员干部主题教育活动总结
2015/03/25 职场文书
消防隐患整改通知书
2015/04/22 职场文书
Python基础详解之描述符
2021/04/28 Python
Java并发编程之Executor接口的使用
2021/06/21 Java/Android
Django框架中模型的用法
2022/06/10 Python