您好,欢迎来到三六零分类信息网!老站,搜索引擎当天收录,欢迎发信息

php xml和json数据产生接口

2025/6/7 10:07:58发布11次查看
/** * 返回结果集 * * @param mixed $info 返回的有效数据集或是错误说明 * @param string $msg 为空或是错误类型代号 * @param string $result 请求成功或是失败的标识 * @param int $post 1为xml方式,2为json方式 * */function getdata($info, $msg = '', $post, $result = 'success'){ /* 分为xml和json两种方式 */ $data_arr = array('result'=>$result, 'msg'=>$msg, 'info'=>$info); $data_arr = to_utf8_iconv($data_arr); //确保传递的编码为utf-8 if ($post == 1) { /* xml方式 */ if (class_exists('domdocument')) { $doc=new domdocument('1.0','utf-8'); $doc->formatoutput=true; $shopex=$doc->createelement('kewin'); $doc->appendchild($shopex); $result=$doc->createelement('result'); $shopex->appendchild($result); $result->appendchild($doc->createcdatasection($data_arr['result'])); $msg=$doc->createelement('msg'); $shopex->appendchild($msg); $msg->appendchild($doc->createcdatasection($data_arr['msg'])); $info=$doc->createelement('info'); $shopex->appendchild($info); create_tree($doc, $info, $data_arr['info']); die($doc->savexml()); } die('' . array2xml($data_arr)) ; } else { /* json方式 */ $json = new json; die($json->encode($data_arr)); //把生成的返回字符串打印出来 }}/** * 循环生成xml节点 * * @param handle $doc xml实例句柄 * @param handle $top 当前父节点 * @param array $info_arr 需要解析的数组 * @param boolean $have_item 是否是数据数组,是则需要在每条数据上加item父节点 * */function create_tree($doc, $top, $info_arr, $have_item = false){ if (is_array($info_arr)) { foreach ($info_arr as $key => $val) { if (is_array($val)) { if ($have_item == false) { $data_info=$doc->createelement('data_info'); $top->appendchild($data_info); create_tree($doc, $data_info, $val, true); } else { $item=$doc->createelement('item'); $top->appendchild($item); $key_code = $doc->createattribute('key'); $item->appendchild($key_code); $key_code->appendchild($doc->createtextnode($key)); create_tree($doc, $item, $val); } } else { $text_code=$doc->createelement($key); $top->appendchild($text_code); if (is_string($val)) { $text_code->appendchild($doc->createcdatasection($val)); } else { $text_code->appendchild($doc->createtextnode($val)); } } } } else { $top->appendchild($doc->createcdatasection($info_arr)); }}function array2xml($data,$root='shopex'){ $xml=''; _array2xml($data,$xml); $xml.=''.$root.'>'; return $xml;}function _array2xml(&$data,&$xml){ if(is_array($data)){ foreach($data as $k=>$v){ if(is_numeric($k)){ $xml.=''; $xml.=_array2xml($v,$xml); $xml.=''; }else{ $xml.=''; $xml.=_array2xml($v,$xml); $xml.=''.$k.'>'; } } }elseif(is_numeric($data)){ $xml.=$data; }elseif(is_string($data)){ $xml.=''; }}
调用方法getdata()传入不同的参数可分别生成xml数据或json格式数据
 getdata($data, '', 'json');  //返回json数据
{result:success,msg:,info:{data_info:[{goods_id:1,last_modify:1423937979},{goods_id:2,last_modify:1425595831},{goods_id:3,last_modify:1423937959},{goods_id:4,last_modify:1423942862}],counts:4}}
getdata($data, '', 'xml');  //返回xml数据
该用户其它信息

VIP推荐

免费发布信息,免费发布B2B信息网站平台 - 三六零分类信息网 沪ICP备09012988号-2
企业名录 Product