php xml 直连,php用XML方式封装通信接口

class Response {

public static function xmlEncode($code,$message,$data = array()) {

if (!is_numeric($code)) {

return '';//如果$code传递的不是数字返回空

}

$result = array(

'code' => $code,

'message' => $message,

'data' => $data,

);

header("Content-Type:text/xml");//指定页面显示类型

$xml = "<?xml version='1.0' encoding='UTF-8'?>\n";

$xml .= "\n";

$xml .= self::xmlToEncode($result);//$result里的data对应的是$datas数组,这时$data数组里的值不会被解析出来。这时需要递归:如果$value是数组的话,再去循环遍历一下

$xml .= "";

echo $xml;

}

//解析$result数组,把它拼装成XMl数据,然后返回给它

public static function xmlToEncode($data) {

$xml = "";//定义一个变量存储XML数据

//用foreach循环把$result遍历出来

foreach ($data as $key => $value) {

$xml .= "";//加{}是为了能识别出$key[节点]是变量

$xml .= is_array($value) ? self::xmlToEncode($value) : $value;//递归

$xml .= "{$key}>\n";

}

return $xml;

}

}

$data = array(

'id' => 1,

'name' => 'hh',

);

Response::xmlEncode(200,'success',$data);

注:如果$key=>$value中,key为数字,无法转变为XML格式中的节点名称,可采用如下方式转换:$value$item>

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值