XML封装通讯接口

来源:互联网 发布:怎么访问apache服务器 编辑:程序博客网 时间:2024/06/10 21:16
/*    *按xml方式输入通讯数据    *@param int $code 状态码    *@param string $message 提示信息    *@param array $data 数据    */    public static function xmlEncode($code,$message,$data=array()){        if(!is_numeric($code)){            return '';        }        $result = [            'code'=>$code,            'message'=>$message,            'data'=>$data        ];        header('content-type:text/xml');        $xml = "<?xml version='1.0' encoding='utf-8'?>\n";        $xml .="<root>\n";        $xml .=self::xmlToEncode($result);        $xml .="</root>\n";        echo $xml;    }    public static function xmlToEncode($data){        $xml = $attr = '';        foreach($data as $key => $value){        //检查key是否是数字,如果是数字做下处理<0> => <item id="0"></item>            if(is_numeric($key)){                $attr = " id='{$key}'";                $key = "item";            }            $xml .= "<{$key}{$attr}>\n";            //这里运用到了一个递归            $xml .= is_array($value)?self::xmlToEncode($value)."\n":$value."\n";            $xml .= "</{$key}>\n";        }        return $xml;    }