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 的 __FILE__ 常量
Jan 15 PHP
php 全文搜索和替换的实现代码
Jul 29 PHP
劣质的PHP代码简化
Feb 08 PHP
php读取csv文件后,uft8 bom导致在页面上显示出现问题的解决方法
Aug 10 PHP
让codeigniter与swfupload整合的最佳解决方案
Jun 12 PHP
PHP开发框架kohana3 自定义路由设置示例
Jul 14 PHP
Centos下升级php5.2到php5.4全记录(编译安装)
Apr 03 PHP
php+mysql实现无限级分类
Nov 11 PHP
php解决和避免form表单重复提交的几种方法
Aug 31 PHP
ThinkPHP 3.2.3实现页面静态化功能的方法详解
Aug 03 PHP
PHP使用pdo连接access数据库并循环显示数据操作示例
Jun 05 PHP
php文件操作之文件写入字符串、数组的方法分析
Apr 15 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
防止MySQL注入或HTML表单滥用的PHP程序
2009/01/21 PHP
Zend 输出产生XML解析错误
2009/03/03 PHP
php实现利用phpexcel导出数据
2013/08/24 PHP
PHP中array_slice函数用法实例详解
2014/11/25 PHP
php中钩子(hook)的原理与简单应用demo示例
2019/09/03 PHP
PHP使用gearman进行异步的邮件或短信发送操作详解
2020/02/27 PHP
ThinkPHP 框架实现的读取excel导入数据库操作示例
2020/04/14 PHP
PHP unset函数原理及使用方法解析
2020/08/14 PHP
List Installed Software Features
2007/06/11 Javascript
javascript 面向对象,实现namespace,class,继承,重载
2009/10/29 Javascript
分享28款免费实用的 JQuery 图片和内容滑块插件
2014/12/15 Javascript
Javascript 运动中Offset的bug解决方案
2014/12/24 Javascript
JS实现仿QQ面板的手风琴效果折叠菜单代码
2015/09/11 Javascript
jquery ztree实现模糊搜索功能
2016/02/25 Javascript
浅谈时钟的生成(js手写简洁代码)
2016/08/20 Javascript
如何解决js函数防抖、节流出现的问题
2019/06/17 Javascript
nodejs中的异步编程知识点详解
2021/01/17 NodeJs
python解析html开发库pyquery使用方法
2014/02/07 Python
用Python写冒泡排序代码
2016/04/12 Python
Python实现的科学计算器功能示例
2017/08/04 Python
详解python eval函数的妙用
2017/11/16 Python
详解Python的hasattr() getattr() setattr() 函数使用方法
2018/07/09 Python
Python通过for循环理解迭代器和生成器实例详解
2019/02/16 Python
PyTorch笔记之scatter()函数的使用
2020/02/12 Python
numpy库ndarray多维数组的维度变换方法(reshape、resize、swapaxes、flatten)
2020/04/28 Python
python 下划线的不同用法
2020/10/24 Python
python3 googletrans超时报错问题及翻译工具优化方案 附源码
2020/12/23 Python
意大利专业化妆品品牌:KIKO MILANO
2017/02/01 全球购物
优秀团员个人的自我评价
2013/10/02 职场文书
大学生冰淇淋店商业计划书
2014/01/14 职场文书
大龄毕业生求职别忘职业规划
2014/03/11 职场文书
户外活动策划方案
2014/03/12 职场文书
摄影专业毕业生求职信
2014/03/13 职场文书
村安全生产责任书
2014/08/25 职场文书
运动会5000米加油稿
2015/07/21 职场文书
vue中 this.$set的使用详解
2021/11/17 Vue.js