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 相关文章推荐
多文件上传的例子
Oct 09 PHP
简单的用PHP编写的导航条程序
Oct 09 PHP
php session 预定义数组
Mar 16 PHP
php面向对象全攻略 (十七) 自动加载类
Sep 30 PHP
array_multisort实现PHP多维数组排序示例讲解
Jan 04 PHP
用PHP实现 上一篇、下一篇的代码
Sep 29 PHP
php GUID生成函数和类
Mar 10 PHP
彻底删除thinkphp3.1案例blog标签的方法
Dec 05 PHP
JavaScript实现滚动栏效果的方法
Apr 27 PHP
php rmdir使用递归函数删除非空目录实例详解
Oct 20 PHP
php实用代码片段整理
Nov 12 PHP
PHP+MySQL实现在线测试答题实例
Jan 02 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
饭制《星际争霸》Mod:优化游戏机制 增加新单位
2017/07/02 星际争霸
解析PHP中DIRECTORY_SEPARATOR,PATH_SEPARATOR两个常量的作用
2013/06/21 PHP
php实现将Session写入数据库
2015/07/26 PHP
PHP命名空间namespace用法实例分析
2016/09/27 PHP
JavaScript高级程序设计 学习笔记 js高级技巧
2011/09/20 Javascript
运算符&amp;&amp;的三个不同层次
2013/04/07 Javascript
JS实现点击图片在当前页面放大并可关闭的漂亮效果
2013/10/18 Javascript
jQuery打印指定区域Html页面并自动分页
2014/07/04 Javascript
jquery html动态添加的元素绑定事件详解
2016/05/24 Javascript
基于Angularjs实现分页功能
2016/05/30 Javascript
分享javascript实现的冒泡排序代码并优化
2016/06/05 Javascript
bootstrap模态框远程示例代码分享
2017/05/22 Javascript
layui实现动态和静态分页
2018/04/28 Javascript
快速解决vue-cli在ie9+中无效的问题
2018/09/04 Javascript
jquery 遍历hash操作示例【基于ajax交互】
2019/10/12 jQuery
Node使用Nodemailer发送邮件的方法实现
2020/02/24 Javascript
vuex存取值和映射函数使用说明
2020/07/24 Javascript
在vue中获取wangeditor的html和text的操作
2020/10/23 Javascript
python实现杨辉三角思路
2017/07/14 Python
python使用itchat实现手机控制电脑
2018/02/22 Python
python购物车程序简单代码
2018/04/18 Python
利用Pandas读取文件路径或文件名称包含中文的csv文件方法
2018/07/04 Python
Python脚本操作Excel实现批量替换功能
2019/11/20 Python
python爬取”顶点小说网“《纯阳剑尊》的示例代码
2020/10/16 Python
微信html5页面调用第三方位置导航的示例
2018/03/14 HTML / CSS
连卡佛中国官网:Lane Crawford中文站
2018/01/27 全球购物
Herschel美国官网:背包、手提袋及配件
2020/03/10 全球购物
父亲的菜园教学反思
2014/02/13 职场文书
2014年十一国庆向国旗敬礼寄语
2014/04/11 职场文书
《鹬蚌相争》教学反思
2014/04/22 职场文书
教室布置标语
2014/06/26 职场文书
2015年幼儿园学期工作总结
2015/05/22 职场文书
幼儿园大班开学寄语(2015秋季)
2015/05/27 职场文书
情人节单身感言
2015/08/03 职场文书
2016年党员创先争优承诺书
2016/03/25 职场文书
表扬稿表扬信的格式及范文
2019/06/24 职场文书