/**
* 将数组转换为xml
* @param array $data 要转换的数组
* @param bool $root 是否要根节点
* @return string xml字符串
* @author Dragondean
* @url http://www.jb200.com/wb/php/
*/
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>