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桌面中心(二) 数据库写入
Mar 11 PHP
php中ob(Output Buffer 输出缓冲)函数使用方法
Jul 21 PHP
使用php判断网页是否gzip压缩
Jun 25 PHP
PHP扩展模块Pecl、Pear以及Perl的区别
Apr 09 PHP
PHP中上传多个文件的表单设计例子
Nov 19 PHP
php检查是否是ajax请求的方法
Apr 16 PHP
PHP curl伪造IP地址和header信息代码实例
Apr 27 PHP
简单了解WordPress开发中update_option()函数的用法
Jan 11 PHP
使用php实现网站验证码功能【推荐】
Feb 09 PHP
PHP操作Redis数据库常用方法示例
Aug 25 PHP
php7新特性的理解和比较总结
Apr 14 PHP
WordPress多语言翻译插件 - WPML使用教程
Apr 01 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
先进的自动咖啡技术,真的可以取代咖啡师吗?
2021/03/06 冲泡冲煮
PHP5/ZendEngine2的改进
2006/10/09 PHP
浅析Yii2 gridview实现批量删除教程
2016/04/22 PHP
thinkPHP显示不出验证码的原因与解决方法分析
2017/05/20 PHP
PHP获取本周所有日期或者最近七天所有日期的方法
2018/06/20 PHP
PHP7新特性之抽象语法树(AST)带来的变化详解
2018/07/17 PHP
PHP中迭代器的简单实现及Yii框架中的迭代器实现方法示例
2020/04/26 PHP
laravel入门知识点整理
2020/09/15 PHP
JQuery中使用Ajax赋值给全局变量异常的解决方法
2014/01/10 Javascript
超级好用的jQuery圆角插件 Corner速成
2014/08/31 Javascript
动态加载jQuery的方法
2015/06/16 Javascript
AngularJS 指令详细介绍
2016/07/27 Javascript
JavaScript实现同一个页面打开多张图片
2016/12/29 Javascript
JavaScript中的编码和解码函数
2017/02/15 Javascript
layer子层给父层页面元素赋值,以达到向父层页面传值的效果实例
2017/09/22 Javascript
vue 组件 全局注册和局部注册的实现
2018/02/28 Javascript
JavaScript格式化json和xml的方法示例
2019/01/22 Javascript
基于three.js实现的3D粒子动效实例代码
2019/04/09 Javascript
[16:56]教你分分钟做大人:司夜刺客
2014/10/30 DOTA
[01:59][TI9趣味视频] 全明星赛奖励
2019/08/23 DOTA
python基础教程项目三之万能的XML
2018/04/02 Python
PyQt5 pyqt多线程操作入门
2018/05/05 Python
Python使用dict.fromkeys()快速生成一个字典示例
2019/04/24 Python
解决pycharm中的run和debug失效无法点击运行
2020/06/09 Python
Python爬取你好李焕英豆瓣短评生成词云的示例代码
2021/02/24 Python
canvas实现图片马赛克的示例代码
2018/03/26 HTML / CSS
自我评价怎么写正确呢?
2013/12/02 职场文书
《蒲公英》教学反思
2014/02/28 职场文书
内蒙古鄂尔多斯市市长寄语
2014/04/10 职场文书
标准毕业生自荐信
2014/06/24 职场文书
领导批评与自我批评范文
2014/10/16 职场文书
大学生自我鉴定怎么写
2019/05/07 职场文书
《语言的突破》读后感3篇
2019/12/12 职场文书
python迷宫问题深度优先遍历实例
2021/06/20 Python
使用Nginx的访问日志统计PV与UV
2022/05/06 Servers
处理canvas绘制图片模糊问题
2022/05/11 Javascript