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基础知识:类与对象(3) 构造函数和析构函数
Dec 13 PHP
PHP注释实例技巧
Oct 03 PHP
php下统计用户在线时间的一种尝试
Aug 26 PHP
php curl抓取网页的介绍和推广及使用CURL抓取淘宝页面集成方法
Nov 30 PHP
PHP微信开发之根据用户回复关键词\位置返回附近信息
Jun 24 PHP
PHP GD库相关图像生成和处理函数小结
Sep 30 PHP
php 计算两个时间相差的天数、小时数、分钟数、秒数详解及实例代码
Nov 09 PHP
PHP微信发送推送消息乱码的解决方法
Feb 28 PHP
调试php程序的简单步骤
Oct 04 PHP
Laravel 简单实现Ajax滚动加载示例
Oct 22 PHP
基于laravel缓冲cache的用法详解
Oct 23 PHP
Laravel 自动转换长整型雪花 ID 为字符串的实现
Oct 27 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
php2html php生成静态页函数
2008/12/08 PHP
用php将任何格式视频转为flv的代码
2009/09/03 PHP
php中10个不同等级压缩优化图片操作示例
2016/11/14 PHP
ThinkPHP框架获取最后一次执行SQL语句及变量调试简单操作示例
2018/06/13 PHP
Yii框架中使用PHPExcel的方法分析
2019/07/25 PHP
PHP延迟静态绑定使用方法实例解析
2020/09/05 PHP
用javascript动态调整iframe高度的方法
2007/03/06 Javascript
javascript实现的基于金山词霸网络翻译的代码
2010/01/15 Javascript
jQuery+CSS 实现的超Sexy下拉菜单
2010/01/17 Javascript
javascript实现的在当前窗口中漂浮框的代码
2010/03/15 Javascript
基于jquery自己写tab滑动门(通用版)
2012/10/30 Javascript
js将iframe中控件的值传到主页面控件中的实现方法
2013/03/11 Javascript
JS中判断JSON数据是否存在某字段的方法
2014/03/07 Javascript
jquery弹窗插件colorbox绑定动态生成元素的方法
2014/06/20 Javascript
js图片轮播特效代码分享
2015/09/07 Javascript
基于Jquery实现焦点图淡出淡入效果
2015/11/30 Javascript
详解JavaScript中|单竖杠运算符的使用方法
2016/05/23 Javascript
AngularJS 作用域详解及示例代码
2016/08/17 Javascript
JS写滑稽笑脸运动效果
2020/05/28 Javascript
vue插件--仿微信小程序showModel实现模态提示窗功能
2020/08/19 Javascript
vant picker+popup 自定义三级联动案例
2020/11/04 Javascript
[03:17]2014DOTA2 国际邀请赛中国区预选赛 四强专访
2014/05/23 DOTA
Python自动连接ssh的方法
2015/03/07 Python
Python基于回溯法子集树模板解决旅行商问题(TSP)实例
2017/09/05 Python
详解Python 实现元胞自动机中的生命游戏(Game of life)
2018/01/27 Python
python抓取网页中链接的静态图片
2018/01/29 Python
python保存数据到本地文件的方法
2018/06/23 Python
Python猴子补丁Monkey Patch用法实例解析
2020/03/23 Python
PyQt5事件处理之定时在控件上显示信息的代码
2020/03/25 Python
如何学习Python time模块
2020/06/03 Python
adidas美国官网:adidas US
2016/09/21 全球购物
幼教毕业生自我鉴定
2014/01/12 职场文书
2014年六五普法工作总结
2014/11/25 职场文书
《文化苦旅》读后感:阅读,让人诗意地栖居在大地上
2019/12/24 职场文书
使用CSS实现小三角边框原理解析
2021/11/07 HTML / CSS
OpenCV实现普通阈值
2021/11/17 Java/Android