您的位置:首页 > 编程语言 > PHP开发

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;

}

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: