php 中生成 我们使用第一种方式(拼接字符串)来封装 XML数据接口,代码中有详细注释。 结果如下:
如何生成XML?
XML
数据,通常有两种方式:
封装接口
<?php /* * (PHP简单封装xml数据接口) * @param integer $code 状态码 * @param string $message 提示信息 * @param array $data 数据 * return xml(string) */ class Response { public static function xml($code, $message = '', $data = []){ # 判断参数有效性及错误处理 // code... # 结果(最终数组) $result = [ "code" => $code, "message" => $message, "data" => $data ]; # 更改头部(为了更清晰的展示XML节点) header('Content-type: text/xml');//xml # 生成XML(字符串拼接方式) $xml = '<?xml version="1.0" encoding="UTF-8"?>';//xml head $xml .= '<root>';//拼接根节点(开始) $xml .= self::toXML($result);//调用处理函数 $xml .= '</root>';//拼接根节点(结束) echo $xml; } # 解析结果数组转为对应的xml节点 public static function toXML($data){//参数为data(result) # 临时存储xml数据 $xml = $id = ''; # 遍历并拼接字符串 foreach($data as $key => $value){ # 如果key是数字(即非关联数组 => [hello,2,true] ) # 以 <item id='?'></item> 展示,id为key if(is_numeric($key)){//如果是数字 $id = "id='{$key}'";//将key作为id属性 $key = 'item ';//将item作为节点名 } $xml .= "<{$key}{$id}>";//开始节点 # 如果是数组则递归(否则直接返回value值) $xml .= is_array($value) ? self::toXML($value) : $value; $xml .= "</{$key}>";//结束节点 } return $xml; } } # 模拟数据 $data = [ 'id' => 1, 'name' => '王佳斌', 'type' => ['A','B','C'],//非关联数组 'xx' => [//复杂混合数组 [1,2,3], ['a' => 'aa', 'b' => 'bb'] ] ]; # 调用 Response::xml(200, '返回成功', $data); ?>
本网页所有视频内容由 imoviebox边看边下-网页视频下载, iurlBox网页地址收藏管理器 下载并得到。
ImovieBox网页视频下载器 下载地址: ImovieBox网页视频下载器-最新版本下载
本文章由: imapbox邮箱云存储,邮箱网盘,ImageBox 图片批量下载器,网页图片批量下载专家,网页图片批量下载器,获取到文章图片,imoviebox网页视频批量下载器,下载视频内容,为您提供.
阅读和此文章类似的: 全球云计算