<?php
/**
* Created by PhpStorm.
* User: yihuaiyuan
* Date: 16/10/9
* Time: 上午9:47
*/
php生成json或者xml数据
vim Response.php
<?php
class Response{
/**
*按json方式输出通信数据
*@param integert $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
); return json_encode($result); } /**
*按xml方式输出通信数据
*@param integert $code 状态码
*@param string $message 提示信息
*@param array $data 数据
*return string
*/
public static function xmlEncode($code,$message='',$data){
if(!is_numeric($code)){
return "";
}
$result=array(
'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>"; return $xml; }
public static function xmlToEncode($data){
$xml=$attr="";
foreach($data as $key=>$value){
if(is_numeric($key)){
$attr="id='{$key}'";
$key="item";
}
$xml.="<{$key}{$attr}>\n"; $xml.=is_array($value)?self::xmlToEncode($value):$value; $xml.="</{$key}> \n";
}
return $xml;
} /**
*按综合方式输出通信数据
*@param integert $code 状态码
*@param string $message 提示信息
*@param array $data 数据
*@param string $type 数据类型
*return string
*/
public static function show($code,$message='',$data=array(),$type='json'){
if(!is_numeric($code)){
return "";
}
$type=isset($_GET['format'])?$_GET['format']:$type;
$result=array(
'code' => $code,
'message' => $message,
'data' => $data
); if($type == 'json'){
$json = self::json($code,$message,$data);
return $json;
}elseif($type == 'array'){
return $result;
}elseif($type == 'xml'){
$xml = self::xmlEncode($code,$message,$data);
return $xml;
}else{
//TODO
}
}
}
?> vim test.php
<?php
/*直接调用*/
require_once('./Response.php');
$arr = array(
'id' =>1,
'name' => 'xiaoming'
);
$xml = Response::show(200,'数据返回成功',$arr);
echo $xml;
?>

php生成json或者xml数据的更多相关文章

  1. iOS开发——网络Swift篇&JSON与XML数据解析

    JSON与XML数据解析 JSON数据解析(内置NSJSONSerialization与第三方JSONKit)   一,使用自带的NSJSONSerialization 苹果从IOS5.0后推出了SD ...

  2. Ajax--PHP+JQuery+Ajax解析json、XML数据、加载页面

    一.JQuery+Ajax用get.post方式提交和请求数据 知识要点: $('#userName').blur(function () { var txt = $(this).val(); $.a ...

  3. C#解析json和xml数据

    C#解析json和xml数据 // 用到的包using Newtonsoft.Json; // using Newtonsoft.Json.Linq; const string value = &qu ...

  4. Qt读取JSON和XML数据

    QJSON JSON(JavaScript Object Notation)是一个轻量级的数据交换格式; 可以将数据以name/value的形式任意组合; QJson 是一个基于Qt的库, 将JSON ...

  5. iOS-数据持久化基础-JSON与XML数据解析

    解析的基本概念 所谓“解析”:从事先规定好的格式串中提取数据 解析的前提:提前约定好格式.数据提供方按照格式提供数据.数据获取方按照格式获取数据 iOS开发常见的解析:XML解析.JSON解析 一.X ...

  6. json和xml数据的解析

    一 json数据 1一条json就像一个对象,也想像OC中的数组,且内嵌了很多键值对字典 {"name" : "jack", "age" : ...

  7. 玩转iOS开发 - JSON 和 Xml 数据解析

    前言 Json 和xml是网络开发中经常使用的数据格式,JSON轻量级.xml相对较复杂.所以如今用JSON的比例很大.基本上从server获取的返回数据都是JSON格式的,作为iOS开发人员,解析J ...

  8. 请求json和xml数据时的方式

    当请求xml数据时,直接通过NSMutableData接收后解析, NSURL *url = [NSURL URLWithString:PATH]; _receiveData = [[NSMutabl ...

  9. 使用JSONObject类来生成json格式的数据

    JSONObject类不支持javabean转json 生成json格式数据的方式有: 1.使用JSONObject原生的来生成 2.使用map构建json格式的数据 3.使用javabean来构建j ...

随机推荐

  1. <<软件测试实战>>读书笔记

    软件测试基础 软件的复杂度已经超越了人的理解能力 1. 虽然高抽象的层次语言,程序框架,程序库等提高了人的生产力,但是还是需要开发者深入理解细节,可以减少开发时间,但是无法减少开发者学习整个技术栈的时 ...

  2. PHP入门part4

    字符串函数 strlen(string); 获取字符串的长度,这里的长度是指该字符串的字节长度:!!utf-8里英文字母和符号占1个字节,中文是占3个字节. substr(string,number1 ...

  3. My Interface

    一.创建Myinterface接口 public interface Myinterface { static final String MyifName="我的接口"; stat ...

  4. C#位操作(转)

    在C#中可以对整型运算对象按位进行逻辑运算.按位进行逻辑运算的意义是:依次取被运算对象的每个位,进行逻辑运算,每个位的逻辑运算结果是结果值的每个位.C#支持的位逻辑运算符如表2.9所示. 算符号 意义 ...

  5. Python基础篇【第3篇】: Python异常处理、反射、动态导入、利用反射的web框架

    异常处理 什么是异常? 异常即是一个事件,该事件会在程序执行过程中发生,影响了程序的正常执行. 一般情况下,在Python无法正常处理程序时就会发生一个异常.异常是Python对象,表示一个错误.当P ...

  6. EJB 教程推荐

    EJB教程 EJB概述 EJB创建应用 EJB无状态Bean EJB有状态会话Bean EJB持久性 EJB消息驱动Bean EJB注解 EJB回调 EJB定时器服务 EJB依赖注入 EJB拦截器 E ...

  7. Chrome插件概览(一) – The basics

    转载http://lvjava.com/?p=582 原文见https://developer.chrome.com/extensions/overview.html Chrome Extension ...

  8. webstrom11 和12破解码

    很多人都发现 http://idea.lanyus.com/ 不能激活了 很多帖子说的 http://15.idea.lanyus.com/ 之类都用不了了,最近封的厉害仅作测试. 红色字体的是最近大 ...

  9. 【SSM 6】Spring+SpringMVC+Mybatis框架搭建步骤

    一.整体概览 首先看maven工程的创建 二.各层的文件配置 2.1,SSM父工程 <span style="font-family:KaiTi_GB2312;font-size:18 ...

  10. leetcode72. Edit Distance(编辑距离)

    以下为个人翻译方便理解 编辑距离问题是一个经典的动态规划问题.首先定义dp[i][j表示word1[0..i-1]到word2[0..j-1]的最小操作数(即编辑距离). 状态转换方程有两种情况:边界 ...