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 相关文章推荐
linux下 C语言对 php 扩展
Dec 14 PHP
php流量统计功能的实现代码
Sep 29 PHP
PHP获取中英混合字符串长度的方法
Jun 07 PHP
php判断数组元素中是否存在某个字符串的方法
Jun 14 PHP
php实现的发送带附件邮件类实例
Sep 22 PHP
php输出xml必须header的解决方法
Oct 17 PHP
php简单实现无限分类树形列表的方法
Mar 27 PHP
实例讲解PHP设计模式编程中的简单工厂模式
Feb 29 PHP
php实现生成验证码实例分享
Apr 10 PHP
理解php依赖注入和控制反转
May 11 PHP
PHP入门教程之会话控制技巧(cookie与session)
Sep 11 PHP
PHP5.5新特性之yield理解与用法实例分析
Jan 11 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
全国FM电台频率大全 - 21 海南省
2020/03/11 无线电
php统计文件大小,以GB、MB、KB、B输出
2011/05/29 PHP
jquery 批量上传图片实现代码
2010/01/28 Javascript
JS模拟面向对象全解(二、类型与赋值)
2011/07/13 Javascript
40款非常棒的jQuery 插件和制作教程(系列二)
2011/11/02 Javascript
javascript动态加载三
2012/08/22 Javascript
Jquery时间验证和转换工具小例子
2013/07/01 Javascript
代码分析jQuery四种静态方法使用
2015/07/23 Javascript
javascript实现信息增删改查的方法
2015/07/25 Javascript
基于jquery实现全屏滚动效果
2015/11/26 Javascript
属于你的jQuery提示框(Tip)插件
2016/01/20 Javascript
使用jquery如何获取时间
2016/10/13 Javascript
jQuery插件zTree实现的基本树与节点获取操作示例
2017/03/08 Javascript
vue2 前后端分离项目ajax跨域session问题解决方法
2017/04/27 Javascript
vue3.0 CLI - 2.1 -  component 组件入门教程
2018/09/14 Javascript
React Native中Mobx的使用方法详解
2018/12/04 Javascript
使用VueRouter的addRoutes方法实现动态添加用户的权限路由
2019/06/03 Javascript
浅谈vue3中effect与computed的亲密关系
2019/10/10 Javascript
修改vue源码实现动态路由缓存的方法
2020/01/21 Javascript
[01:01]2020完美高校联赛(秋)西安落幕
2021/03/11 DOTA
python进程管理工具supervisor的安装与使用教程
2017/09/05 Python
python使用生成器实现可迭代对象
2018/03/20 Python
python移位运算的实现
2019/07/15 Python
Python 图像对比度增强的几种方法(小结)
2019/09/25 Python
PYTHON绘制雷达图代码实例
2019/10/15 Python
使用python无账号无限制获取企查查信息的实例代码
2020/04/17 Python
使用CSS3 制作一个material-design 风格登录界面实例
2016/12/12 HTML / CSS
全球性的在线鞋类品牌:Public Desire
2019/04/03 全球购物
内部类的定义、种类以及优点
2013/10/16 面试题
酒店门卫岗位职责
2013/12/29 职场文书
心理咨询承诺书
2014/05/20 职场文书
2015年银行工作总结范文
2015/04/01 职场文书
幼儿园小班开学寄语
2015/05/27 职场文书
银行文明优质服务培训心得体会
2016/01/09 职场文书
关于公司年会的开幕词
2016/03/04 职场文书
分析Python list操作为什么会错误
2021/11/17 Python