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 相关文章推荐
sourcesafe管理phpproj文件的补充说明(downmoon)
Apr 11 PHP
PHP 手机归属地查询 api
Feb 08 PHP
队列在编程中的实际应用(php)
Sep 04 PHP
Can't create/write to file 'C:\WINDOWS\TEMP\...MYSQL报错解决方法
Jun 30 PHP
PHP用strstr()函数阻止垃圾评论(通过判断a标记)
Sep 28 PHP
php array_merge函数使用需要注意的一个问题
Mar 30 PHP
关于php中一些字符串总结
May 05 PHP
PHP数组实例详解
Jun 26 PHP
PHP7.1实现的AES与RSA加密操作示例
Jun 15 PHP
PHP的简单跳转提示的实现详解
Mar 14 PHP
php array_chunk()函数用法与注意事项
Jul 12 PHP
phpquery中文手册
Mar 18 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
最简单的jQuery程序 入门者学习
2009/07/09 Javascript
javascript 面向对象编程 function也是类
2009/09/17 Javascript
JQuery 常用操作代码
2010/03/14 Javascript
jQuery与其它库冲突的解决方法
2010/06/25 Javascript
鼠标焦点离开文本框时验证的js代码
2013/07/19 Javascript
javascript实现浏览器窗口传递参数的方法
2014/09/03 Javascript
教你如何使用node.js制作代理服务器
2014/11/26 Javascript
ECMAScript6轮播图实践知识总结
2016/08/17 Javascript
javascript简单进制转换实现方法
2016/11/24 Javascript
JS实现快递单打印功能【推荐】
2018/06/21 Javascript
jQuery实现获取form表单内容及绑定数据到form表单操作分析
2018/07/03 jQuery
layui动态表头的实现代码
2019/08/22 Javascript
LayUI switch 开关监听 获取属性值、更改状态的方法
2019/09/21 Javascript
[41:08]TNC vs VG 2018国际邀请赛小组赛BO2 第一场 8.16
2018/08/17 DOTA
[50:50]完美世界DOTA2联赛PWL S3 INK ICE vs DLG 第一场 12.20
2020/12/23 DOTA
python 读写中文json的实例详解
2017/10/29 Python
python、java等哪一门编程语言适合人工智能?
2017/11/13 Python
python实现机器学习之元线性回归
2018/09/06 Python
python使用Matplotlib画饼图
2018/09/25 Python
python输出pdf文档的实例
2020/02/13 Python
利用Python脚本批量生成SQL语句
2020/03/04 Python
Pytorch通过保存为ONNX模型转TensorRT5的实现
2020/05/25 Python
Python爬虫爬取百度搜索内容代码实例
2020/06/05 Python
HTML5 UTF-8 中文乱码的解决方法
2013/11/18 HTML / CSS
欧洲最大的预定车位市场:JustPark
2020/01/06 全球购物
美国Max仓库:Max Warehouse
2020/05/31 全球购物
大专生自我鉴定范文
2013/10/01 职场文书
新闻记者个人求职的自我评价
2013/11/28 职场文书
爱心捐助倡议书
2014/05/19 职场文书
国际贸易实训报告
2014/11/05 职场文书
委托书的样本
2015/01/28 职场文书
邀请函模板
2015/02/02 职场文书
销售员自我评价
2015/03/11 职场文书
HR必备:超全面的薪酬待遇管理方案!
2019/07/12 职场文书
MySQL创建高性能索引的全步骤
2021/05/02 MySQL
tensorflow中的梯度求解及梯度裁剪操作
2021/05/26 Python