php用xml和json处理数据格式。
2014-12-16 20:35
204 查看
<?php
class Response{
/**
* 综合方式输出通信数据
* @param integer $code 状态吗
* @param integer ¥message 提示信息
* @param array $data数据
* @param string $type 数据类型
* return string
* */
public static function show ($code,$message='',$data=array(),$type){
if (is_numeric($code)){
return '';
}
$result =array(
'code'=>$code,
'message'=>$message,
'data'=>$data
);
$type =isset($_GET['format']) ?$_GET['format']:self::JSON;
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 integer ¥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 integer ¥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 = "<?xml version=1.0 encoding ='UTF-8' ?>";
$xml.="<root>";
$xml.=self::xmlToEncoding($result);
$xml.="</root>";
}
/*
* xml 的节点值不能为数字
*
* */
public static function xmlToEncoding ($data){
$xml="";
foreach ($data as $key =>$value){
if (is_numeric($key)){
$att="id='{$key}'";
$key ="item";
}
$xml.="<{$key}{$att}>";
//递归处理
$xml.=is_array($value)?self::xmlToEncoding($value):$value;
$xml.="</{$key}>";
}
return $xml;
}
}
class Response{
/**
* 综合方式输出通信数据
* @param integer $code 状态吗
* @param integer ¥message 提示信息
* @param array $data数据
* @param string $type 数据类型
* return string
* */
public static function show ($code,$message='',$data=array(),$type){
if (is_numeric($code)){
return '';
}
$result =array(
'code'=>$code,
'message'=>$message,
'data'=>$data
);
$type =isset($_GET['format']) ?$_GET['format']:self::JSON;
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 integer ¥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 integer ¥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 = "<?xml version=1.0 encoding ='UTF-8' ?>";
$xml.="<root>";
$xml.=self::xmlToEncoding($result);
$xml.="</root>";
}
/*
* xml 的节点值不能为数字
*
* */
public static function xmlToEncoding ($data){
$xml="";
foreach ($data as $key =>$value){
if (is_numeric($key)){
$att="id='{$key}'";
$key ="item";
}
$xml.="<{$key}{$att}>";
//递归处理
$xml.=is_array($value)?self::xmlToEncoding($value):$value;
$xml.="</{$key}>";
}
return $xml;
}
}
相关文章推荐
- PHP生成json和xml类型接口数据格式
- PHP 使用curl库来发送GET,POST请求,处理json格式数据
- C++语言处理xml和json格式数据(入门!!!)
- PHP生成接口数据格式(json和xml)
- php处理json格式数据经典案例总结
- jquery接收PHP传送过来的JSON格式数据以及处理。
- php返回json,xml,JSONP等格式的数据
- 用Jquery处理PHP返回的JSON格式数据的三种方法
- 提供一个json格式的接口 php生成XML的数据
- PHP生成json和xml类型接口数据格式
- php学习笔记(三十)ajax请求和接收参数的实现方式(包括json数据格式的简单处理)
- 在PHP代码中处理JSON 格式的字符串【或用file_get_content得到的数据】
- 接口规范,js处理json,php返回给ajax的数据格式
- php与Ajax(四)—xml与json数据格式
- php接收json格式数据(text/xml)
- php处理json格式数据经典案例总结
- php处理json格式数据经典案例总结
- PHP生成json和xml类型接口数据格式
- Ajax处理XML、HTML、JSON三种数据格式的方法
- php接收json(text/xml)格式数据