递归实现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 相关文章推荐
PHP4实际应用经验篇(4)
Oct 09 PHP
PHP+Tidy-完美的XHTML纠错+过滤
Apr 10 PHP
PHP 网页过期时间的控制代码
Jun 29 PHP
php数组对百万数据进行排除重复数据的实现代码
Jun 08 PHP
ThinkPHP中ajax使用实例教程
Aug 22 PHP
WampServer下安装多个版本的PHP、mysql、apache图文教程
Jan 07 PHP
PHP基于phpqrcode生成带LOGO图像的二维码实例
Jul 10 PHP
Symfony模板的快捷变量用法实例
Mar 17 PHP
PHP身份证校验码计算方法
Aug 10 PHP
php 微信开发获取用户信息如何实现
Dec 13 PHP
php tpl模板引擎定义与使用示例
Aug 09 PHP
PHP正则之正向预查与反向预查讲解与实例
Apr 06 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 Directory 函数的详解
2013/03/07 PHP
php表单请求获得数据求和示例
2014/05/15 PHP
PHP  Yii清理缓存的实现方法
2016/11/10 PHP
PHP实现数组根据某个单元字段排序操作示例
2018/08/01 PHP
16个最流行的JavaScript框架[推荐]
2011/05/29 Javascript
extjs 初始化checkboxgroup值的代码
2011/09/21 Javascript
javascript小组件 原生table排序表格脚本(兼容ie firefox opera chrome)
2012/07/25 Javascript
玩转方法:call和apply
2014/05/08 Javascript
jquery实现像栅栏一样左右滑出式二级菜单效果代码
2015/08/24 Javascript
AngularJS实现树形结构(ztree)菜单示例代码
2016/09/18 Javascript
JS中事件冒泡和事件捕获介绍
2016/12/13 Javascript
使用ionic播放轮询广告的实现方法(必看)
2017/04/24 Javascript
js实现移动端导航点击自动滑动效果
2017/07/18 Javascript
Django中使用jquery的ajax进行数据交互的实例代码
2017/10/15 jQuery
详解vue 不同环境配置不同的打包命令
2019/04/07 Javascript
webpack 如何同时输出压缩和未压缩的文件的实现步骤
2020/06/05 Javascript
vue实现评价星星功能
2020/06/30 Javascript
解决vue单页面应用打包后相对路径、绝对路径相关问题
2020/08/14 Javascript
微信小程序换肤功能实现代码(思路详解)
2020/08/25 Javascript
Python轻量级ORM框架Peewee访问sqlite数据库的方法详解
2017/07/20 Python
Pandas 对Dataframe结构排序的实现方法
2018/04/10 Python
Python实现统计给定字符串中重复模式最高子串功能示例
2018/05/16 Python
Django框架实现的简单分页功能示例
2018/12/04 Python
如何爬取通过ajax加载数据的网站
2019/08/15 Python
Python自动创建Excel并获取内容
2020/09/16 Python
css3实现3D色子翻转特效
2014/12/23 HTML / CSS
世界上第一个水枕头:Mediflow
2018/12/06 全球购物
捷克母婴用品购物网站:Feedo.cz
2020/12/28 全球购物
Sahajan美国:阿育吠陀护肤品牌
2021/01/09 全球购物
了解AppleTalk协议吗
2014/04/01 面试题
GC是什么?为什么要有GC?
2013/12/08 面试题
司机岗位职责
2013/11/15 职场文书
顶岗实习协议书
2015/01/29 职场文书
小学重阳节活动总结
2015/03/24 职场文书
2015年党建工作总结
2015/03/30 职场文书
2016年度创先争优活动总结
2016/04/05 职场文书