递归实现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 array的学习笔记
May 16 PHP
PHP 自定义错误处理函数trigger_error()
Mar 26 PHP
PHP设置图片文件上传大小的具体实现方法
Oct 11 PHP
smarty半小时快速上手入门教程
Oct 27 PHP
php实现专业获取网站SEO信息类实例
Apr 02 PHP
纯PHP代码实现支付宝批量付款
Dec 24 PHP
php开发时容易忘记的一些技术细节
Feb 03 PHP
PHP6新特性分析
Mar 03 PHP
Yii2 RESTful中api的使用及开发实例详解
Jul 06 PHP
php+javascript实现的动态显示服务器运行程序进度条功能示例
Aug 07 PHP
php统计数组不同元素的个数的实例方法
Sep 26 PHP
thinkphp 5框架实现登陆,登出及session登陆状态检测功能示例
Oct 10 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 pathinfo()获得文件的路径、名称等信息说明
2011/09/13 PHP
php简单开启gzip压缩方法(zlib.output_compression)
2013/04/13 PHP
PHP加密解密类实例分析
2015/04/20 PHP
PHP创建文件,并向文件中写入数据,覆盖,追加的实现代码
2016/03/25 PHP
php实现网页上一页下一页翻页过程详解
2019/06/28 PHP
Javascript &amp; DHTML 实例编程(教程)(三)初级实例篇1—上传文件控件实例
2007/06/02 Javascript
javascript window对象属性整理
2009/10/24 Javascript
jquery photoFrame 图片边框美化显示插件
2010/06/28 Javascript
Jquery获得控件值的三种方法总结
2014/02/13 Javascript
jQuery获取标签文本内容和html内容的方法
2015/03/27 Javascript
javascript基于DOM实现权限选择实例分析
2015/05/14 Javascript
解析javascript中鼠标滚轮事件
2015/05/26 Javascript
根据user-agent判断蜘蛛代码黑帽跳转代码(js版与php版本)
2015/09/14 Javascript
使用JQuery选择HTML遍历函数的方法
2016/09/17 Javascript
KnockoutJS 3.X API 第四章之表单submit、enable、disable绑定
2016/10/10 Javascript
基本DOM节点操作
2017/01/17 Javascript
AngularJS双向绑定和依赖反转实例详解
2017/04/15 Javascript
JS数组交集、并集、差集的示例代码
2017/08/23 Javascript
JS封装的模仿qq右下角消息弹窗功能示例
2018/08/22 Javascript
浅析微信扫码登录原理(小结)
2018/10/29 Javascript
VUE中使用HTTP库Axios方法详解
2020/02/05 Javascript
python计算两个数的百分比方法
2018/06/29 Python
mac PyCharm添加Python解释器及添加package路径的方法
2018/10/29 Python
Python3对称加密算法AES、DES3实例详解
2018/12/06 Python
在Sublime Editor中配置Python环境的详细教程
2020/05/03 Python
Python自动化操作实现图例绘制
2020/07/09 Python
对Pytorch 中的contiguous理解说明
2021/03/03 Python
探索HTML5本地存储功能运用技巧
2016/03/02 HTML / CSS
Omio意大利:全欧洲低价大巴、火车和航班搜索和比价
2017/12/02 全球购物
AJAX都有哪些有点和缺点
2012/11/03 面试题
专科应届生求职信
2013/11/24 职场文书
精彩自我鉴定
2014/01/16 职场文书
理财计划书
2014/08/14 职场文书
财务总监岗位职责范本
2015/04/03 职场文书
详细介绍python类及类的用法
2021/05/31 Python
阿里云ECS云服务器快照的概念以及如何使用
2022/04/21 Servers