1. 程式人生 > >xml方式封裝數據方法

xml方式封裝數據方法

result ati ray idt 需要 數組 esc HP urn

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>

運行結果:

技術分享圖片

xml方式封裝數據方法