递归实现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正则表达匹配中文问题分析小结
Mar 25 PHP
php根据年月获取季度的方法
Mar 31 PHP
Codeigniter+PHPExcel实现导出数据到Excel文件
Jun 12 PHP
php计算整个mysql数据库大小的方法
Jun 19 PHP
PHP使用mkdir创建多级目录的方法
Dec 22 PHP
解析WordPress中函数钩子hook的作用及基本用法
Dec 22 PHP
PHP读取mssql json数据中文乱码的解决办法
Apr 11 PHP
Yii视图CGridView实现操作按钮定义地址示例
Jul 14 PHP
PHP实现电商订单自动确认收货redis队列
May 17 PHP
php使用QueryList轻松采集js动态渲染页面方法
Sep 11 PHP
Thinkphp5.0 框架视图view的比较标签用法分析
Oct 12 PHP
php数组函数array_push()、array_pop()及array_shift()简单用法示例
Jan 26 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 原来也不过如此~~呵呵
2006/11/25 PHP
PHP字符串 ==比较运算符的副作用
2009/10/21 PHP
php验证码的制作思路和实现方法
2015/11/12 PHP
解放web程序员的输入验证
2006/10/06 Javascript
SOSO地图API使用(一)在地图上画圆实现思路与代码
2013/01/15 Javascript
js的hasownproperty使用示例
2014/03/02 Javascript
轻松创建nodejs服务器(8):非阻塞是如何实现的
2014/12/18 NodeJs
javascript将数字转换整数金额大写的方法
2015/01/27 Javascript
Angular Js文件上传之form-data
2015/08/28 Javascript
理解JavaScript表单的基础知识
2016/01/25 Javascript
基于JQuery实现图片上传预览与删除操作
2016/05/24 Javascript
原生JS实现圆环拖拽效果
2017/04/07 Javascript
详解VueJs前后端分离跨域问题
2017/05/24 Javascript
javascript+jQuery实现360开机时间显示效果
2017/11/03 jQuery
移动端图片上传旋转、压缩问题的方法
2018/10/16 Javascript
JavaScript对JSON数组简单排序操作示例
2019/01/31 Javascript
vue-cli3项目展示本地Markdown文件的方法
2019/06/07 Javascript
JS实现简单的文字无缝上下滚动功能示例
2019/06/22 Javascript
Python简单实现TCP包发送十六进制数据的方法
2016/04/16 Python
在python3.5中使用OpenCV的实例讲解
2018/04/02 Python
python对视频画框标记后保存的方法
2018/12/07 Python
Python中的 is 和 == 以及字符串驻留机制详解
2019/06/28 Python
python3.7通过thrift操作hbase的示例代码
2020/01/14 Python
python实现npy格式文件转换为txt文件操作
2020/07/01 Python
Html5 audio标签样式的修改
2016/01/28 HTML / CSS
YOOX美国官方网站:全球著名的多品牌时尚网络概念店
2016/09/11 全球购物
竞聘上岗演讲稿范文
2014/01/10 职场文书
九年级英语教学反思
2014/01/31 职场文书
房地产营销策划方案
2014/02/08 职场文书
市场营销求职信范文
2014/02/21 职场文书
出纳员岗位职责
2014/03/13 职场文书
《雕塑之美》教学反思
2014/04/24 职场文书
企业安全生产目标责任书
2014/07/23 职场文书
驻村工作先进事迹
2014/08/14 职场文书
党的群众路线教育实践活动个人对照检查材料(四风)
2014/11/05 职场文书
申论不会写怎么办?教您掌握这6点思维和原则
2019/07/17 职场文书