<?php
/**
* @author http://www.luboke.com
* @author 全栈编程
*
* 功能说明:数组转xml
*/
$arr = array('name'=>'codersay','url'=>'http://weibo.com/codersay');
$string = array2xml($arr,'utf-8',true);
echo $string;
function array2xml($array, $encoding='utf-8', $istop=false)
{
$xml='';
foreach($array as $key=>$val){
if(is_numeric($key)){
$key="item id=\"$key\"";
}else{
//去掉空格,只取空格之前文字为key
list($key,)=explode(' ',$key);
}
$xml.="<$key>";
if(is_array($val)){
$xml.= array2xml($val, $encoding);
}else{
if(strstr($val, "&") || strstr($val, "<") || strstr($val, ">") || strstr($val, "'") || strstr($val, '"'))
$val = '<![CDATA[' . $val . ']]>';
$xml.= $val;
}
//去掉空格,只取空格之前文字为key
list($key,)=explode(' ',$key);
$xml.="</$key>";
}
if($istop)
$xml = '<xml version="1.0" encoding="'.$encoding.'">'. $xml .'</xml>';
return $xml;
}