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 相关文章推荐
mysql4.1以上版本连接时出现Client does not support authentication protocol问题解决办法
Mar 15 PHP
删除及到期域名的查看(抢域名必备哦)
May 14 PHP
PHP中文URL编解码(urlencode()rawurlencode()
Jul 03 PHP
php将会员数据导入到ucenter的代码
Jul 18 PHP
PHP5中虚函数的实现方法分享
Apr 20 PHP
php数组的一些常见操作汇总
Jul 17 PHP
PHP正确配置mysql(apache环境)
Aug 28 PHP
php汉字转拼音的示例
Feb 27 PHP
php实现telnet功能示例
Apr 08 PHP
php对包含html标签的字符串进行截取的函数分享
Jun 19 PHP
PHP获取mysql数据表的字段名称和详细信息的方法
Sep 27 PHP
thinkPHP5实现数据库添加内容的方法
Oct 25 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添加文章时生成静态HTML文章的实现代码
2013/02/17 PHP
PHP 利用Mail_MimeDecode类提取邮件信息示例
2014/01/26 PHP
PHP实现二叉树的深度优先与广度优先遍历方法
2015/09/28 PHP
php生成复杂验证码(倾斜,正弦干扰线,黏贴,旋转)
2018/03/12 PHP
js同时按下两个方向键
2007/12/01 Javascript
IE与firefox之jquery用法区别
2008/10/03 Javascript
ext读取两种结构的xml的代码
2008/11/05 Javascript
javaScript NameSpace 简单说明介绍
2013/07/18 Javascript
jquery 页眉单行信息滚动显示实现思路及代码
2014/06/26 Javascript
angular.foreach 循环方法使用指南
2015/01/06 Javascript
jQuery内容折叠效果插件用法实例分析(附demo源码)
2016/04/28 Javascript
js中动态创建json,动态为json添加属性、属性值的实例
2016/12/02 Javascript
从零学习node.js之文件操作(三)
2017/02/21 Javascript
vue.js 使用axios实现下载功能的示例
2018/03/05 Javascript
简单说说angular.json文件的使用
2018/10/29 Javascript
vue实现在线翻译功能
2019/09/27 Javascript
js实现登录拖拽窗口
2020/02/10 Javascript
javascript 设计模式之组合模式原理与应用详解
2020/04/08 Javascript
Python中处理字符串的相关的len()方法的使用简介
2015/05/19 Python
python开发之str.format()用法实例分析
2016/02/22 Python
python 3.5实现检测路由器流量并写入txt的方法实例
2017/12/17 Python
python实现百万答题自动百度搜索答案
2018/01/16 Python
教你用一行Python代码实现并行任务(附代码)
2018/02/02 Python
Python列表推导式、字典推导式与集合推导式用法实例分析
2018/02/07 Python
用Eclipse写python程序
2018/02/10 Python
Python类和对象的定义与实际应用案例分析
2018/12/27 Python
使用TensorFlow对图像进行随机旋转的实现示例
2020/01/20 Python
python yield和Generator函数用法详解
2020/02/10 Python
python 利用toapi库自动生成api
2020/10/19 Python
10个示例带你掌握python中的元组
2020/11/23 Python
python UIAutomator2使用超详细教程
2021/02/19 Python
利用CSS3实现炫酷的飞机起飞动画
2016/09/17 HTML / CSS
Wedgwood英国官方网站:英式精致骨瓷餐具、礼品与生活精品,源于1759年
2019/09/02 全球购物
IT工程师岗位职责
2014/07/04 职场文书
新郎结婚保证书
2015/02/26 职场文书
暂住证明怎么写
2015/06/19 职场文书