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安全配置
Oct 09 PHP
在WIN98下以apache模块方式安装php
Oct 09 PHP
php数组总结篇(一)
Sep 30 PHP
深入解析php中的foreach问题
Jun 30 PHP
PHP 文件编程综合案例-文件上传的实现
Jul 03 PHP
强制PHP命令行脚本单进程运行的方法
Apr 15 PHP
PHP+MySQL统计该库中每个表的记录数并按递减顺序排列的方法
Feb 15 PHP
php求数组全排列,元素所有组合的方法
May 05 PHP
PHP自定义函数获取URL中一级域名的方法
Aug 23 PHP
php中mkdir()函数的权限问题分析
Sep 24 PHP
Yii实现复选框批量操作实例代码
Mar 15 PHP
Yii框架参数化查询中IN查询只能查询一个的解决方法
May 20 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
PHP会话操作之cookie用法分析
2016/09/28 PHP
Zend Framework实现自定义过滤器的方法
2016/12/09 PHP
Zend Framework过滤器Zend_Filter用法详解
2016/12/09 PHP
php中请求url的五种方法总结
2017/07/13 PHP
js表数据排序 sort table data
2009/02/18 Javascript
javascript用户注册提示效果的简单实例
2013/08/17 Javascript
JavaScript合并两个数组并去除重复项的方法
2015/06/13 Javascript
VUEJS实战之利用laypage插件实现分页(3)
2016/06/13 Javascript
jQuery表单对象属性过滤选择器实例详解
2016/09/13 Javascript
easyui combobox开启搜索自动完成功能的实例代码
2016/11/08 Javascript
微信小程序 slider 详解及实例代码
2017/01/10 Javascript
NodeJS、NPM安装配置步骤(windows版本) 以及环境变量详解
2017/05/13 NodeJs
最全的JavaScript开发工具列表 总有一款适合你
2017/06/29 Javascript
Node.js实现注册邮箱激活功能的方法示例
2018/03/23 Javascript
JS实现获取自定义属性data值的方法示例
2018/12/19 Javascript
微信小程序实现动态列表项的顺序加载动画
2019/07/25 Javascript
JavaScript 函数用法详解【函数定义、参数、绑定、作用域、闭包等】
2020/05/12 Javascript
处理JavaScript值为undefined的7个小技巧
2020/07/28 Javascript
python简单猜数游戏实例
2015/07/09 Python
解决tensorflow模型参数保存和加载的问题
2018/07/26 Python
Python中整数的缓存机制讲解
2019/02/16 Python
CSS3中的弹性布局em运用入门详解 1em等于多少像素
2021/02/08 HTML / CSS
详解移动端h5页面根据屏幕适配的四种方案
2020/04/15 HTML / CSS
Peter Alexander新西兰站:澳大利亚领先的睡衣设计师品牌
2016/12/10 全球购物
定制iPhone和Macbook保护壳:Slick Case
2018/11/21 全球购物
医学院学生的自我评价分享
2013/11/19 职场文书
卫校护理专业毕业生求职信
2013/11/26 职场文书
初中化学教学反思
2014/01/23 职场文书
法学函授自我鉴定
2014/02/06 职场文书
动漫专业高职生职业生涯规划书
2014/02/15 职场文书
运动会开幕式主持词
2014/03/28 职场文书
钱塘江大潮导游词
2015/02/03 职场文书
资产移交协议书
2016/03/24 职场文书
2019大学生实习报告
2019/06/21 职场文书
申论不会写怎么办?教您掌握这6点思维和原则
2019/07/17 职场文书
Python利用机器学习算法实现垃圾邮件的识别
2021/06/28 Python