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中的字符串函数
Nov 24 PHP
php set_time_limit(0) 设置程序执行时间的函数
May 26 PHP
php 数组动态添加实现代码(最土团购系统的价格排序)
Dec 30 PHP
php中echo()和print()、require()和include()等易混淆函数的区别
Feb 22 PHP
用PHP提取中英文词语以及数字的首字母的方法介绍
Apr 23 PHP
php计划任务之ignore_user_abort函数实现方法
Jan 08 PHP
在WordPress中使用wp_count_posts函数来统计文章数量
Jan 05 PHP
Symfony的安装和配置方法
Mar 17 PHP
手把手编写PHP框架 深入了解MVC运行流程
Sep 19 PHP
PHP验证码类ValidateCode解析
Jan 07 PHP
thinkPHP5框架实现多数据库连接,跨数据连接查询操作示例
May 29 PHP
PhpStorm2020.1 安装 debug - Postman 调用的详细教程
Aug 17 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定界符
2014/06/19 PHP
PHP中使用sleep造成mysql读取失败的案例和解决方法
2014/08/21 PHP
JavaScript 字符串连接性能优化
2008/12/20 Javascript
JavaScript学习历程和心得小结
2010/08/16 Javascript
JavaScript 盒模型 尺寸深入理解
2012/12/31 Javascript
jQuery创建平滑的页面滚动(顶部或底部)
2013/02/26 Javascript
js 实现 input type=&quot;file&quot; 文件上传示例代码
2013/08/07 Javascript
cookie的复制与使用记住用户名实现代码
2013/11/04 Javascript
改变隐藏的input中value的值代码
2013/12/30 Javascript
jQuery调用ajax请求的常见方法汇总
2015/03/24 Javascript
JS+CSS实现仿触屏手机拨号盘界面及功能模拟完整实例
2015/05/16 Javascript
jQuery无刷新切换主题皮肤实例讲解
2015/10/21 Javascript
AngularJs表单验证实例详解
2016/05/30 Javascript
AngularJS2中一种button切换效果的实现方法(二)
2017/03/27 Javascript
详解使用vue实现tab 切换操作
2017/07/03 Javascript
vue自动化路由的实现代码
2019/09/30 Javascript
javascript中导出与导入实现模块化管理教程
2020/12/03 Javascript
用Python实现通过哈希算法检测图片重复的教程
2015/04/02 Python
python 利用栈和队列模拟递归的过程
2018/05/29 Python
Python中return self的用法详解
2018/07/27 Python
Python连接Redis的基本配置方法
2018/09/13 Python
详解Numpy中的广播原则/机制
2018/09/20 Python
Python绘制并保存指定大小图像的方法
2019/01/10 Python
Python实现查找数组中任意第k大的数字算法示例
2019/01/23 Python
详解Python3定时器任务代码
2019/09/23 Python
Django 实现xadmin后台菜单改为中文
2019/11/15 Python
matplotlib 对坐标的控制,加图例注释的操作
2020/04/17 Python
Pytorch使用PIL和Numpy将单张图片转为Pytorch张量方式
2020/05/25 Python
Python脚本实现Zabbix多行日志监控过程解析
2020/08/26 Python
css3动画过渡实现鼠标跟随导航效果
2018/02/08 HTML / CSS
css3 边框、背景、文本效果的实现代码
2018/03/21 HTML / CSS
HTML5输入框下拉菜单功能的示例代码
2020/09/08 HTML / CSS
塔吉特百货公司官网:Target
2017/04/27 全球购物
SAZAC的动物连体衣和动物睡衣:Kigurumi Shop
2020/03/14 全球购物
导游词之广西漓江
2019/11/02 职场文书
MySQL数字类型自增的坑
2021/05/07 MySQL