递归实现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时间不正确的解决方法
Apr 09 PHP
PHPMailer安装方法及简单实例
Nov 25 PHP
POSIX 风格和兼容 Perl 风格两种正则表达式主要函数的类比(preg_match, preg_replace, ereg, ereg_replace)
Oct 12 PHP
判断PHP数组是否为空的代码
Sep 08 PHP
php中计算程序运行时间的类代码
Nov 03 PHP
浅析php插件 Simple HTML DOM 用DOM方式处理HTML
Jul 01 PHP
php函数与传递参数实例分析
Nov 15 PHP
thinkphp模板赋值与替换实例简述
Nov 24 PHP
thinkphp的静态缓存用法分析
Nov 29 PHP
PHP获取数组的键与值方法小结
Jun 13 PHP
PHP中Trait及其应用详解
Feb 14 PHP
阿里云Win2016安装Apache和PHP环境图文教程
Mar 11 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调用三种数据库的方法(1)
2006/10/09 PHP
php中使用接口实现工厂设计模式的代码
2012/06/17 PHP
php获取参数的几种方法总结
2014/02/18 PHP
php中PDO方式实现数据库的增删改查
2015/05/17 PHP
PHP使用数组实现矩阵数学运算的方法示例
2017/05/29 PHP
php使用pthreads v3多线程实现抓取新浪新闻信息操作示例
2020/02/21 PHP
Extjs学习过程中新手容易碰到的低级错误积累
2010/02/11 Javascript
Extjs gridpanel 出现横向滚动条问题的解决方法
2011/07/04 Javascript
基于jquery的鼠标拖动效果代码
2012/05/30 Javascript
推荐9款炫酷的基于jquery的页面特效
2014/12/07 Javascript
浏览器环境下JavaScript脚本加载与执行探析之defer与async特性
2016/01/14 Javascript
基于jQuery实现select下拉选择可输入附源码下载
2016/02/03 Javascript
Bootstrap登陆注册页面开发教程
2016/07/12 Javascript
简单实现Vue的observer和watcher
2016/12/21 Javascript
基于Javascript实现的不重复ID的生成器
2016/12/25 Javascript
使用vue2实现购物车和地址选配功能
2018/03/29 Javascript
jQuery实现判断上传图片类型和大小的方法示例
2018/04/11 jQuery
vue基础之模板和过滤器用法实例分析
2019/03/12 Javascript
详解小程序云开发数据库
2019/05/20 Javascript
微信小程序仿抖音短视频切换效果的实例代码
2020/06/24 Javascript
jQuery插件实现图片轮播效果
2020/10/19 jQuery
JS如何实现在弹出窗口中加载页面
2020/12/03 Javascript
使用python将时间转换为指定的格式方法
2018/11/12 Python
详解python selenium 爬取网易云音乐歌单名
2019/03/28 Python
Django中的FBV和CBV用法详解
2019/09/15 Python
Python2比较当前图片跟图库哪个图片相似的方法示例
2019/09/28 Python
python实现一个点绕另一个点旋转后的坐标
2019/12/04 Python
python Tensor和Array对比分析
2020/01/08 Python
python使用建议与技巧分享(一)
2020/08/17 Python
详解Python 中的 defaultdict 数据类型
2021/02/22 Python
html+js 实现markdown编辑器效果
2019/10/23 HTML / CSS
Java面试题:请说出如下代码的输出结果
2013/04/22 面试题
联片教研活动总结
2014/07/01 职场文书
团队拓展活动方案
2014/08/28 职场文书
购房协议书范本(无房产证)
2014/10/07 职场文书
教学副校长工作总结
2015/08/13 职场文书