yangzailu

导航

xml方式封装数据方法

1.xml方式封装数据方法

2.demo

<?php
xml方式封装数据方法
/**
 * [xmlEncode description]
 * @param  [type] $code    [description]
 * @param  [type] $message [description]
 * @param  array  $data    [description]
 * @return [type]          [description]
 */
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/html");
    $xml ="<?xml version='1.0' encoding='UTF-8'>";
    $xml .="<root>";
    $xml .=self::xmlToEncode($result);
    $xml .="</root>";

 echo $xml;
}


public static function xmlToEncode($data){
    $xml = $attr "";
    foreach ($data as $key => $value) {
        //xml的节点不能为数字,如果传默认数组需要处理下标值
        if(is_numeric($key)){
            $attr = "id='{$key}'";
            $key = "item";
        }
        $xml .="<{$key}>";    
        $xml .=is_array($value)?self::xmlToEncode($value):$value;    
        $xml .="</{$key}>";    
    }
    return $xml;

}
$data = array(
    'id'=>1,
    'name'=>'xinlang',
    'type'=>array(),
    );
Response::xmlEncode(200,'success',$data);


//注意 xml的节点不能为数字,如果传默认数组需要处理下标值
<item id="0"></item>

运行结果:

 

posted on 2018-06-18 19:14  飞离地平线  阅读(525)  评论(0编辑  收藏  举报