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 相关文章推荐
Windows下PHP5和Apache的安装与配置
Sep 05 PHP
PHP header()函数使用详细(301、404等错误设置)
Apr 17 PHP
php验证是否是md5编码的简单代码
Apr 01 PHP
php函数与传递参数实例分析
Nov 15 PHP
thinkphp特殊标签用法概述
Nov 24 PHP
php中Snoopy类用法实例
Jun 19 PHP
如何通过Linux命令行使用和运行PHP脚本
Jul 29 PHP
php中ob函数缓冲机制深入理解
Aug 03 PHP
Joomla使用Apache重写模式的方法
May 04 PHP
PHP微信公众号自动发送红包API
Jun 01 PHP
PHP实现的mongoDB数据库操作类完整实例
Apr 10 PHP
Thinkphp 框架扩展之标签库驱动原理与用法分析
Apr 23 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 checkbox复选框值的获取与checkbox默认值输出方法
2010/05/15 PHP
解析crontab php自动运行的方法
2013/06/24 PHP
PHP中获取文件创建日期、修改日期、访问时间的方法
2016/11/05 PHP
关于JavaScript的gzip静态压缩方法
2007/01/05 Javascript
用js实现计算代码行数的简单方法附代码
2007/08/13 Javascript
JQuery 初体验(建议学习jquery)
2009/04/25 Javascript
浅析JavaScript基本类型与引用类型
2014/05/28 Javascript
基于NodeJS的前后端分离的思考与实践(二)模版探索
2014/09/26 NodeJs
Jquery实现顶部弹出框特效
2015/08/08 Javascript
jQuery仿写百度百科的目录树
2017/01/03 Javascript
jQuery中Datatables增加跳转到指定页功能
2017/02/08 Javascript
jQuery实现多张图片上传预览(不经过后端处理)
2017/04/29 jQuery
使用Angular CLI进行单元测试和E2E测试的方法
2018/03/24 Javascript
js实现一个页面多个倒计时的3种方法
2019/02/25 Javascript
微信小程序+腾讯地图开发实现路径规划绘制
2019/05/22 Javascript
jQuery单页面文字搜索插件jquery.fullsearch.js的使用方法
2020/02/04 jQuery
Django实现图片文字同时提交的方法
2015/05/26 Python
Python程序退出方式小结
2017/12/09 Python
Python模拟脉冲星伪信号频率实例代码
2018/01/03 Python
python实现两个文件合并功能
2018/04/01 Python
python调用百度语音识别实现大音频文件语音识别功能
2018/08/30 Python
在python下读取并展示raw格式的图片实例
2019/01/24 Python
Python批量查询关键词微信指数实例方法
2019/06/27 Python
Python图像处理模块ndimage用法实例分析
2019/09/05 Python
python如何求数组连续最大和的示例代码
2020/02/04 Python
pycharm 添加解释器的方法步骤
2020/08/31 Python
如何用tempfile库创建python进程中的临时文件
2021/01/28 Python
利用css3制作3D样式按钮实现代码
2013/03/18 HTML / CSS
英国最大的宠物商店:Pets at Home
2019/04/17 全球购物
英国Radley包德国官网:Radley London德国
2019/11/18 全球购物
实习自我鉴定范文
2013/10/30 职场文书
公司员工的自我评价范例
2013/11/01 职场文书
我的动漫时代的创业计划书范文
2014/01/27 职场文书
人力资源部经理的岗位职责
2014/03/04 职场文书
总经理年会致辞
2015/07/29 职场文书
Go语言使用select{}阻塞main函数介绍
2021/04/25 Golang