递归实现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 set_magic_quotes_runtime() 函数过时解决方法
Jul 08 PHP
PHP按行读取、处理较大CSV文件的代码实例
Apr 09 PHP
Yii2隐藏frontend/web和backend/web的方法
Dec 12 PHP
php制作的简单验证码识别代码
Jan 26 PHP
PHP简单处理表单输入的特殊字符的方法
Feb 03 PHP
PHP简单字符串过滤方法示例
Sep 04 PHP
验证坐标在某坐标区域内php代码
Oct 08 PHP
php微信开发之百度天气预报
Nov 18 PHP
php中curl和soap方式请求服务超时问题的解决
Jun 11 PHP
PHP的PDO错误与错误处理
Jan 27 PHP
Yii框架多语言站点配置方法分析【中文/英文切换站点】
Apr 07 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单例模式应用详解
2013/06/03 PHP
php 购物车完整实现代码
2014/06/05 PHP
PHP编译安装时常见错误解决办法
2015/05/28 PHP
PHP弱类型的安全问题详细总结
2016/09/25 PHP
php中请求url的五种方法总结
2017/07/13 PHP
gearman中任务的优先级和返回状态实例分析
2020/02/27 PHP
HTML颜色选择器实现代码
2010/11/23 Javascript
js获取指定日期前后的日期代码
2013/08/20 Javascript
JS判断变量是否为空判断是否null
2014/07/25 Javascript
JavaScript中的Primitive对象封装介绍
2014/12/31 Javascript
javascript与jquery中的this关键字用法实例分析
2015/12/24 Javascript
学习vue.js表单控件绑定操作
2016/12/05 Javascript
利用select实现年月日三级联动的日期选择效果【推荐】
2016/12/13 Javascript
学习 NodeJS 第八天:Socket 通讯实例
2016/12/21 NodeJs
正则验证小数点后面只能有两位数的方法
2017/02/28 Javascript
详解Node.js串行化流程控制
2017/05/04 Javascript
ES6入门教程之let和const命令详解
2017/05/17 Javascript
vue自定义底部导航栏Tabbar的实现代码
2018/09/03 Javascript
JavaScript实现简单轮播图效果
2018/12/01 Javascript
vue动画效果实现方法示例
2019/03/18 Javascript
layui实现数据表格点击搜索功能
2020/03/26 Javascript
Python中字符串的格式化方法小结
2016/05/03 Python
python实现一个简单的并查集的示例代码
2018/03/19 Python
Django实现web端tailf日志文件功能及实例详解
2019/07/28 Python
Python 写入训练日志文件并控制台输出解析
2019/08/13 Python
python GUI库图形界面开发之PyQt5打印控件QPrinter详细使用方法与实例
2020/02/28 Python
python 3.8.3 安装配置图文教程
2020/05/21 Python
Lee牛仔裤澳大利亚官网:美国著名牛仔裤品牌
2017/09/02 全球购物
美国眼镜网:GlassesUSA
2017/09/07 全球购物
HelloFresh奥地利:立即订购烹饪盒
2019/02/22 全球购物
模具设计与制造专业推荐信
2014/02/16 职场文书
党员领导干部民主生活会批评与自我批评发言
2014/09/28 职场文书
六年级学生期末评语
2014/12/26 职场文书
旅游安全责任协议书
2016/03/22 职场文书
Python生成九宫格图片的示例代码
2021/04/14 Python
解决golang 关于全局变量的坑
2021/05/06 Golang