递归实现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连接和操作MySQL数据库基础教程
Sep 29 PHP
PHP魔术方法__GET、__SET使用实例
Nov 25 PHP
WordPress中&quot;无法将上传的文件移动至&quot;错误的解决方法
Jul 01 PHP
PHP版本常用的排序算法汇总
Dec 20 PHP
PHP多维数组转一维数组的简单实现方法
Dec 23 PHP
PHP中strncmp()函数比较两个字符串前2个字符是否相等的方法
Jan 07 PHP
CI框架AR操作(数组形式)实现插入多条sql数据的方法
May 18 PHP
thinkPHP模板引擎用法示例
Dec 08 PHP
自制PHP框架之模型与数据库
May 07 PHP
php 猴子摘桃的算法
Jun 20 PHP
thinkPHP框架中执行事务的方法示例
May 31 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模板中使用PHP函数的方法
2011/04/23 PHP
用PHP提取中英文词语以及数字的首字母的方法介绍
2013/04/23 PHP
thinkphp验证码显示不出来的解决方法
2014/03/29 PHP
php实现使用正则将文本中的网址转换成链接标签
2014/12/03 PHP
php运行报错Call to undefined function curl_init()的最新解决方法
2016/11/20 PHP
js 自动播放的实例代码
2013/11/19 Javascript
Visual Studio中js调试的方法图解
2014/06/30 Javascript
jQuery中replaceAll()方法用法实例
2015/01/16 Javascript
jQuery拖拽插件gridster使用指南
2015/04/21 Javascript
JavaScript实现动态删除列表框值的方法
2015/08/12 Javascript
Node.js 应用跑得更快 10 个技巧
2016/04/03 Javascript
简单实现nodejs上传功能
2017/01/14 NodeJs
Angular实现跨域(搜索框的下拉列表)
2017/02/16 Javascript
JavaScript表单即时验证 验证不成功不能提交
2017/08/31 Javascript
实现图片首尾平滑轮播(JS原生方法—节流)
2017/10/17 Javascript
在ES5与ES6环境下处理函数默认参数的实现方法
2018/05/13 Javascript
vue中使用axios post上传头像/图片并实时显示到页面的方法
2018/09/27 Javascript
Vue.js子组件向父组件通信的方法实例代码详解
2018/12/10 Javascript
详解如何给React-Router添加路由页面切换时的过渡动画
2019/04/25 Javascript
ElementUI Tag组件实现多标签生成的方法示例
2019/07/08 Javascript
在layui中对table中的数据进行判断(0、1)转换为提示信息的方法
2019/09/28 Javascript
微信小程序 生成携带参数的二维码
2019/10/23 Javascript
Python正则表达式介绍
2012/08/06 Python
Python实现将n个点均匀地分布在球面上的方法
2015/03/12 Python
pytorch sampler对数据进行采样的实现
2019/12/31 Python
利用Python将图片中扭曲矩形的复原
2020/09/07 Python
python 利用opencv实现图像网络传输
2020/11/12 Python
Melijoe美国官网:法国奢侈童装购物网站
2017/04/19 全球购物
Agoda台湾官网:国内外订房2折起
2018/03/20 全球购物
加热夹克:RAVEAN
2018/10/19 全球购物
致垒球运动员加油稿
2014/02/16 职场文书
晚会主持词开场白
2014/03/17 职场文书
银行贷款承诺书
2014/03/29 职场文书
应届大学生自荐书
2014/06/17 职场文书
学校运动会广播稿范文
2014/10/02 职场文书
财务出纳岗位职责
2015/03/31 职场文书