xmlメソッドパッケージ
1.xmlパッケージ方法
ここでxmlToEncodeは属性を解析する
配列がarray(1,2,3)の場合、keyは0,1,2などと自動的に認識され、xmlでは数字をノードとして使用できないため、keyのidを属性として付与すると判断する.
xml
/** * XML * @param integer $code * @param string $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::xmlToEncode($result);
$xml.="</root>";
echo $xml;
exit();
}
ここでxmlToEncodeは属性を解析する
/** * xml * @param unknown $result */
public static function xmlToEncode($result){
$xml=$attr="";
foreach ($result as $key=>$value){
// key
if(is_numeric($key)){
$attr = " id='" . $key . "'";
$key="item";
}
$xml.="<{$key}{$attr}>";
$xml.=is_array($value)?self::xmlToEncode($value):$value;
$xml.="</{$key}>";
}
return $xml;
配列がarray(1,2,3)の場合、keyは0,1,2などと自動的に認識され、xmlでは数字をノードとして使用できないため、keyのidを属性として付与すると判断する.