递归实现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中实现进程间通讯
Oct 09 PHP
一篇不错的PHP基础学习笔记
Mar 18 PHP
php minixml详解
Jul 19 PHP
php获取301跳转URL简单实例
Dec 16 PHP
thinkphp的CURD和查询方式介绍
Dec 19 PHP
php+mysql实现无限分类实例详解
Jan 15 PHP
PHP获取远程图片并保存到本地的方法
May 12 PHP
PHP函数实现从一个文本字符串中提取关键字的方法
Jul 01 PHP
10个php函数实用却不常见
Oct 13 PHP
PHP文件上传类实例详解
Apr 08 PHP
CI框架整合widget(页面格局)的方法
May 17 PHP
PHP实现的抓取小说网站内容功能示例
Jun 27 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
PHP文件上传问题汇总(文件大小检测、大文件上传处理)
2015/12/24 PHP
PHP手机号中间四位用星号*代替显示的实例
2017/06/02 PHP
解决laravel资源加载路径设置的问题
2019/10/14 PHP
基于thinkphp6.0的success、error实现方法
2019/11/05 PHP
JS控制显示隐藏兼容问题(IE6、IE7、IE8)
2010/04/01 Javascript
10个基于jQuery或JavaScript的WYSIWYG 编辑器整理
2010/05/06 Javascript
用jquery实现输入框获取焦点消失文字
2013/04/27 Javascript
浅析jquery如何判断滚动条滚到页面底部并执行事件
2016/04/29 Javascript
关于JSON.parse(),JSON.stringify(),jQuery.parseJSON()的用法
2016/06/30 Javascript
vue.js单页面应用实例的简单实现
2017/04/10 Javascript
详解Vue-cli 创建的项目如何跨域请求
2017/05/18 Javascript
vue 修改 data 数据问题并实时显示的方法
2018/08/27 Javascript
解决vue点击控制单个样式的问题
2018/09/05 Javascript
Vue.js递归组件实现组织架构树和选人功能案例分析
2019/07/03 Javascript
简介JavaScript错误处理机制
2020/08/04 Javascript
解决antd 下拉框 input [defaultValue] 的值的问题
2020/10/31 Javascript
js实现Element中input组件的部分功能并封装成组件(实例代码)
2021/03/02 Javascript
Python MD5文件生成码
2009/01/12 Python
Python装饰器的函数式编程详解
2015/02/27 Python
Python生成随机密码
2015/03/10 Python
Python采用Django开发自己的博客系统
2020/09/29 Python
python分治法求二维数组局部峰值方法
2018/04/03 Python
pandas对指定列进行填充的方法
2018/04/11 Python
Python实现的银行系统模拟程序完整案例
2019/04/12 Python
Django路由层URLconf作用及原理解析
2020/09/24 Python
html5指南-5.使用web storage存储键值对的数据
2013/01/07 HTML / CSS
通过canvas转换颜色为RGBA格式及性能问题的解决
2019/11/22 HTML / CSS
若干个Java基础面试题
2015/05/19 面试题
乡镇保密工作责任书
2014/07/28 职场文书
小学秋季运动会报道稿
2014/09/30 职场文书
四风问题自查自纠工作情况报告
2014/10/28 职场文书
初二学生评语大全
2014/12/26 职场文书
家长会欢迎词
2015/01/23 职场文书
升职自荐信怎么写
2015/03/05 职场文书
乡镇保密工作承诺书
2015/05/04 职场文书
Python集合set()使用的方法详解
2022/03/18 Python