小蚂蚁学习APP接口开发(2)—— XML方式封装通信接口
发布时间:2020-12-16 00:10:50 所属栏目:百科 来源:网络整理
导读:今天主要写一下XML方式封装通信接口的代码实现,XML的通信接口编写起来明显要比json的复杂一些,不过道理很简单,无非就是拼接成一个xml字符串输出,接着昨天的代码继续写。 ?phpclassResponse{/************************************返回json格式数据*$para
今天主要写一下XML方式封装通信接口的代码实现,XML的通信接口编写起来明显要比json的复杂一些,不过道理很简单,无非就是拼接成一个xml字符串输出,接着昨天的代码继续写。 <?php classResponse{ /*********************************** * 返回json格式数据 * $param integer $code * $param string $message * $param array $data * returnjson * ******************************/ publicstaticfunctionjson($code,$message='',$data=array()){ //做出一个验证,如果不是数字,就返回空 if(!is_numeric($code)){ return''; } //把穿进来的三个值,组装成一个数组 $result = array( 'code' => $code,'message' => $message,'data' => $data ); //json_encode()把数组转化成json格式输出 echojson_encode($result); exit; } /*********************************** * 返回xml格式数据 * $param integer $code * $param string $message * $param array $data * returnjson * ******************************/ publicstaticfunctionxml($code,$data=array()){ //做出一个验证,如果不是数字,就返回空 if(!is_numeric($code)){ return''; } //把穿进来的三个值,组装成一个数组 $result = array( 'code' => $code,'data' => $data ); //便于浏览器输出xml格式文件 header('content-type:text/xml'); //拼接xml $xml.="<?xmlversion='1.0'encoding='UTF-8'?>"; $xml.='<root>'; $xml.=self::xmlToEncode($result); //获取组装好的xml数据 $xml.='</root>'; echo$xml; exit; } publicstaticfunctionxmlToEncode($arr){ //准备一个接收的空数组 $xml=''; //将这个数组的键,作为节点名称,值作为内容 foreach($arras$key=>$value){ /*约定一个规则,如果键是数字的话,格式为<itemid='5'>aaa</item>*/ if(is_numeric($key)){ $attr = "id='{$key}'";//属性的值需要带上引号,不然报错 $key = 'item'; } $xml.="<{$key}{$attr}>"; //如果$value的值是个多维数组的话,需要递归遍历 $xml.=is_array($value)?self::xmlToEncode($value):$value; $xml.="</{$key}>"; } return$xml; } } $array=array( 'name'=>'学PHP的小蚂蚁','age'=>'27','sex'=>'male','url'=>'博客http://my.oschina.net/woshixiaomayi/blog','like'=>array( 'eat'=>'apple','drink'=>'milk','happy','lucky' ) ); Response::xml(200,'success',$array); /* 打印出来的样子 <root> <code>200</code> <message>success</message> <data> <name>学PHP的小蚂蚁</name> <age>27</age> <sex>male</sex> <url>博客http://my.oschina.net/woshixiaomayi/blog</url> <like> <eat>apple</eat> <drink>milk</drink> <itemid="0">happy</item> <itemid="1">lucky</item> </like> </data> </root> */ ?> 其中有两点需要注意:
(编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |