php实现数组转化成xml的类

class  ArrayUtility
{
/* *
* Convert array to xml tree
*
* @param array $array
* @param array $options
* @return string
* @example xmlize()
*/
public   function  xmlize( $array ,   $options )
{
$encoding   =   isset ( $options [ ' encoding ' ])  ?   $options [ $encoding : ' utf-8 ' ;
$root   =   isset ( $options [ ' root ' ])  ?   $options [ ' root ' :   ' response ' ;
$xml   =   " < ?xml version="1.0" encoding="{$encoding}"?> < $root> ”;
$xml .= self::_xmlize($array);
$xml .= “”;
return $xml;
}
private function _xmlize($array)
{
$string = ”;
foreach($array as $key => $value)
{
$stag = is_numeric($key) ? “item id=”$key”
"   :   $key ;
$etag   =   is_numeric ( $key ?  “item”  :   $key ;
if  ( is_array ( $value ))
{
$string   .=  “ <   "  . $stag .  " > ”  .  self :: _xmlize( $value .  “ ”;
}
else
{
$string   .=  “ <   "  . $stag .  " > ”  .   $value   .  “ ”;
}
}
return   $string ;
}

}
使用方法:

$api_data   =   array (
' status '   =>   ' 200 ' ,
' message '   =>   ' 成功 ' ,
' data '   =>   array (
' account ' =>   array (
0   =>   array (
' id '   =>   15 ,
' plat '   =>   1 ,
' pay_account '   =>   ' glemir@yahoo.cn '
)
,
1   =>   array (
' id '   =>   16 ,
' plat '   =>   2 ,
' pay_account '   =>   ' test@gmail.com
)
)
)
);
header(
' Content - Type :  text / xml ' );
$arrayob = new ArrayUtility();
$xml = $arrayob->xmlize($api_data); //这里可以加上编码的参数,默认utf-8
echo $xml;

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值