递归实现php数组转xml的代码分享


Posted in PHP onMay 14, 2015

PHP中将数组转为xml的需求是常见的,而且实现方法也有很多种,百度找了一下各种实现方法,但是基本是借组一些组件啥的。我就自己写了一个字符串拼组的方法,支持多维数组。仅供参考,不足之处敬请不吝赐教!

/**
*  将数组转换为xml
*  @param array $data  要转换的数组
*  @param bool $root   是否要根节点
*  @return string     xml字符串
*  @author Dragondean
*  @url  http://www.cnblogs.com/dragondean
*/
function arr2xml($data, $root = true){
  $str="";
  if($root)$str .= "<xml>";
  foreach($data as $key => $val){
    if(is_array($val)){
      $child = arr2xml($val, false);
      $str .= "<$key>$child</$key>";
    }else{
      $str.= "<$key><![CDATA[$val]]></$key>";
    }
  }
  if($root)$str .= "</xml>";
  return $str;
}

上面是实现的方法,第一个参数是你要转换的数组,第二个可选参数设定是否需要加<xml>根节点,默认是需要的。

测试代码:

$arr=array('a'=>'aaa','b'=>array('c'=>'1234' , 'd' => "asdfasdf"));

echo arr2xml($arr);

代码执行后的结果为:

<xml><a><![CDATA[aaa]]></a><b><c><![CDATA[1234]]></c><d><![CDATA[asdfasdf]]></d></b></xml>

以上所述就是本文的全部内容了,希望大家能够喜欢。

PHP 相关文章推荐
php adodb介绍
Mar 19 PHP
PHP 魔术函数使用说明
May 14 PHP
防止本地用户用fsockopen DDOS攻击对策
Nov 02 PHP
php并发对MYSQL造成压力的解决方法
Feb 21 PHP
PHP把空格、换行符、中文逗号等替换成英文逗号的正则表达式
May 04 PHP
PHP内存缓存Memcached类实例
Dec 08 PHP
php限制上传文件类型并保存上传文件的方法
Mar 13 PHP
PHP实现求解最长公共子串问题的方法
Nov 17 PHP
PHP设计模式之原型模式定义与用法详解
Apr 03 PHP
PHP创建对象的六种方式实例总结
Jun 27 PHP
Laravel中如何轻松容易的输出完整的SQL语句
Jul 26 PHP
MacOS下PHP7.1升级到PHP7.4.15的方法
Feb 22 PHP
php编写批量生成不重复的卡号密码代码
May 14 #PHP
php编写的抽奖程序中奖概率算法
May 14 #PHP
深入浅出php socket编程
May 13 #PHP
PHP中的traits简单使用实例
May 13 #PHP
PHP中的traits实现代码复用使用实例
May 13 #PHP
浅谈本地WAMP环境的搭建
May 13 #PHP
PHP脚本监控Nginx 502错误并自动重启php-fpm
May 13 #PHP
You might like
smarty内置函数{loteral}、{ldelim}和{rdelim}用法实例
2015/01/22 PHP
PHP正则表达式入门教程(推荐)
2016/05/18 PHP
php自动载入类用法实例分析
2016/06/24 PHP
PHP守护进程化在C和PHP环境下的实现
2017/11/21 PHP
PHP保留两位小数的几种方法
2019/07/24 PHP
PHP实现新型冠状病毒疫情实时图的实例
2020/02/04 PHP
延时重复执行函数 lLoopRun.js
2007/05/08 Javascript
javascript打开新窗口同时关闭旧窗口
2009/01/16 Javascript
javascript中对Attr(dom中属性)的操作示例讲解
2013/12/02 Javascript
javascript类型系统 Window对象学习笔记
2016/01/07 Javascript
Bootstrap编写一个同时适用于PC、平板、手机的登陆页面
2016/06/30 Javascript
vue引入新版 vue-awesome-swiper插件填坑问题
2018/01/25 Javascript
vue router嵌套路由在history模式下刷新无法渲染页面问题的解决方法
2018/01/25 Javascript
Vue组件和Route的生命周期实例详解
2018/02/10 Javascript
Vue打包后出现一些map文件的解决方法
2018/02/13 Javascript
红黑树的插入详解及Javascript实现方法示例
2018/03/26 Javascript
js中el表达式的使用和非空判断方法
2018/03/28 Javascript
vue-cli开发环境实现跨域请求的方法
2018/04/07 Javascript
Angular4 反向代理Details实践
2018/05/30 Javascript
Vue脚手架的简单使用实例
2018/07/10 Javascript
解决element-ui中下拉菜单子选项click事件不触发的问题
2018/08/22 Javascript
微信小程序之判断页面滚动方向的示例代码
2018/08/30 Javascript
详解Vue之事件处理
2020/07/10 Javascript
微信小程序轮播图swiper代码详解
2020/12/01 Javascript
同时安装Python2 &amp; Python3 cmd下版本自由选择的方法
2017/12/09 Python
Python3 queue队列模块详细介绍
2018/01/05 Python
解决Django中多条件查询的问题
2019/07/18 Python
非常漂亮的CSS3百叶窗焦点图动画
2016/02/24 HTML / CSS
HTML利用九宫格原理进行网页布局
2020/03/13 HTML / CSS
企业内部培训方案
2014/02/04 职场文书
社区母亲节活动方案
2014/03/05 职场文书
竞选团支书演讲稿
2014/04/28 职场文书
小学红领巾广播稿(3篇)
2014/09/13 职场文书
2014年教育实习工作总结
2014/11/22 职场文书
团代会闭幕词
2015/01/28 职场文书
HR必备:超全面的薪酬待遇管理方案!
2019/07/12 职场文书