xml封裝

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

相關文章
相關標籤/搜索