php文件:test.php 是通用通信类
$code, 'message' => $message, 'data' => $data, ); if($type == 'json') { self::json($code, $message, $data); exit; } elseif($type == 'array') { var_dump($result); } elseif($type == 'xml') { self::xmlencode($code, $message, $data); exit; } else { // todo } } /** * 按json方式输出通信数据 * @param integer $code 状态码 * @param string $message 提示信息 * @param array $data 数据 * return string */ public static function json($code, $message = '', $data = array()) { if(!is_numeric($code)) { return ''; } $result = array( 'code' => $code, 'message' => $message, 'data' => $data ); echo json_encode($result); exit; } /** * 按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 = \n; $xml .= \n; $xml .= self::xmltoencode($result); $xml .= ; echo $xml; } public static function xmltoencode($data) { $xml = $attr = ; foreach($data as $key => $value) { if(is_numeric($key)) { $attr = id='{$key}'; $key = item; } $xml .= ; $xml .= is_array($value) ? self::xmltoencode($value) : $value; $xml .= {$key}>\n; } return $xml; }}
testxml&json.php通过调用test类的show()方法实现了生成xml和json
1,'name'=>david);response::show(200,'success',$data);
这样app开发工程师就可以通过给show()函数最后一个参数赋不同值,选择要生成xml数据还是json数据。
通过http请求的get请求的参数:
http://localhost/testxml&json.php?format=xml 这是要生成xml的url