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;
}
}
.net