class Response {
/*
*按xml方式输出数据
@param integer $code 状态吗
@param string $message 提示信息
@param array $data 数据
return string
*/
public static function xmlEncode($code,$message='',$data=array()) {
if(!is_numeric($code)){ //如果状态码不是数字就返回空
return '';
}
$result =array(
'code'=>$code,
'message'=>$message,
'data' =>$data
);
header("Content-Type:text/xml");//指定页面显示类型
$xml = "<?xml version='1.0' encoding='UTF-8'?>";
$xml .= "<root>";
$xml .= self::xmlToEncode($result);
$xml .= "</root>";
echo $xml;
}
public static function xmlToEncode($data) {
$xml =$attr= "";
foreach($data as $key=>$val) {
if(is_numeric($key)){ //xml 节点不能是数字
$attr ="id='{$key}'";
$key="item";
}
$xml .= "<{$key} {$attr}>"; //初始化$attr 为空 防止 不是 is_numeric 的情况 报未定义
$xml .=is_array($val)? self::xmlToEncode($val):$val;
$xml .= "</{$key}>";
}
return $xml;
}
}
转载于:https://my.oschina.net/u/2935860/blog/756813