递归实现php数组转xml的代码分享
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处理数组和XML之间的互相转换
在开发中,我们经常会遇到数组与XML之间的互相转换,尤其在处理接口开发的时候经常用到,比如对方客户端POST一个XML格式的数据到服务器上,服务器上的程序要负责接收解析,还有需要将数据表数据以XML格式提供给第三方等等应用. 本文我们将简单介绍如何使用PHP处理数组和XML之间的互相转换. 源码下载:PHP数组与XML之间的转换 PHP将数组转换成XML PHP可以将数组转换成xml格式,简单的办法是遍历数组,然后将数组的key/value转换成xml节点,再直接echo输出了,如: func
-
PHP将XML转数组过程详解
得到一个xml型的对象: 复制代码 代码如下: $resp = $this->c->execute($req, $sessionKey);//获得xml对象$items=$resp->items; 那么读取对象的值,就用$items->item,或者$items->item->price,如此操作很不方便,不符合php操作数组的习惯. php提供了array方法将对象转换成数组,只要把你要转换数组的对象前面加上(array)就行了. 比如将$items->item
-
php实现xml转换数组的方法示例
本文实例讲述了php实现xml转换数组的方法.分享给大家供大家参考,具体如下: <?php $info = '<?xml version="1.0" encoding="utf-8" ?> <data> <GeocoderSearchResponse> <status>OK</status> <result> <location> <lat>39.94921<
-
php中Array2xml类实现数组转化成XML实例
本文实例讲述了php中Array2xml类实现数组转化成XML的方法.分享给大家供大家参考.具体实现方法如下: 复制代码 代码如下: <?php class Array2xml { var $xml; function array2xml($array,$encoding='utf-8') { $this->xml='<?xml version="1.0" encoding="'.$encoding.'"?>'
-
PHP如何将XML转成数组
如果你使用 curl 获取的 xml data xml=simplexmlloadstring(data); data[′tk′]=jsondecode(jsonencode(xml),TRUE); 如果是直接获取 URL 数据的话 xml=simplexmlloadfile(data); data[′tk′]=jsondecode(jsonencode(xml),TRUE); 先把 simplexml 对象转换成 json,再将 json 转换成数组. 代码: <?php $string =
-
php实现XML和数组的相互转化功能示例
本文实例讲述了php实现XML和数组的相互转化功能.分享给大家供大家参考,具体如下: 数组转化为xml: function arrtoxml($arr,$dom=0,$item=0){ if (!$dom){ $dom = new DOMDocument("1.0"); } if(!$item){ $item = $dom->createElement("root"); $dom->appendChild($item); } foreach ($arr
-
PHP实现数组array转换成xml的方法
本文实例讲述了PHP实现数组array转换成xml的方法.分享给大家供大家参考,具体如下: <?php $elementLevel = 0 ; function array_Xml($array, $keys = '') { global $elementLevel; if(!is_array($array)) { if($keys == ''){ return $array; }else{ return "\n<$keys>" . $array . "&l
-
php之XML转数组函数的详解
如下所示: 复制代码 代码如下: <?/** * xml2array() will convert the given XML text to an array in the XML structure. * Link: http://www.bin-co.com/php/scripts/xml2array/ * Arguments : $contents - The XML text * $get_attributes - 1 or 0. If this is
-
PHP XML和数组互相转换详解
PHP XML和数组互相转换 //数组转XML function arrayToXml($arr) { $xml = "<xml>"; foreach ($arr as $key=>$val) { if (is_numeric($val)){ $xml.="<".$key.">".$val."</".$key.">"; }else{ $xml.="<
-
PHP中将数组转成XML格式的实现代码
下面是网上的 复制代码 代码如下: class ArrayToXML { /** * The main function for converting to an XML document. * Pass in a multi dimensional array and this recrusively loops through and builds up an XML document. * * @param array $data * @param string $rootNodeName
-
php实现将数组转换为XML的方法
本文实例讲述了php实现将数组转换为XML的方法.分享给大家供大家参考.具体如下: 1. php代码如下: <?php class A2Xml { private $version = '1.0'; private $encoding = 'UTF-8'; private $root = 'root'; private $xml = null; function __construct() { $this->xml = new XmlWriter(); } function toXml($da
-
php下将XML转换为数组
复制代码 代码如下: // Xml 转 数组, 包括根键 function xml_to_array( $xml ) { $reg = "/<(\w+)[^>]*>([\\x00-\\xFF]*)<\\/\\1>/"; if(preg_match_all($reg, $xml, $matches)) { $count = count($matches[0]); for($i = 0; $i < $count; $i++) { $subxml= $ma
-
PHP数组生成XML格式数据的封装类实例
本文实例讲述了PHP数组生成XML格式数据的封装类.分享给大家供大家参考,具体如下: 类库代码:MakeXML.php: <?php /** * MakeXML * * @author Lin Jiong(slime09@gmail.com) * @version v1.0 * @license Copyright (c) 2009 Lin Jiong (www.cn09.com) * The LGPL (http://www.gnu.org/licenses/lgpl.html) licens
随机推荐
- 原生JS实现首页进度加载动画
- 详解tomcat热部署和热加载的方法
- java多线程编程之使用runnable接口创建线程
- Python实现视频下载功能
- asp.net中上传图片文件实现防伪图片水印并写入数据库
- 经常用到的javascript验证函数收集第1/3页
- 一次nginx 504 Gateway Time-out错误排查、解决记录
- asp.net DataList与Repeater用法区别
- .Net Core中使用ref和Span<T>提高程序性能的实现代码
- PHP中使用数组实现堆栈数据结构的代码
- 基于mysql的bbs设计(一)
- php实现计数器方法小结
- C#中增加SQLite事务操作支持与使用方法
- Android自定义Style实现方法
- JSP学习之JavaBean用法分析
- JS将光标聚焦在文本最后的实现代码
- PHP更新购物车数量(表单部分/PHP处理部分)
- C++指向类成员函数的指针详细解析
- Android编程之SQLite数据库操作方法详解
- 详解微信小程序用定时器实现倒计时效果