⽀付xml处理与请求(我这⾥是⼩程序⽀付)⼩程序⽀付得xml处理与请求等
需要注意的是
将XML转化为json/数组的函数中,⽤到了simplexml_load_string()函数,会报错
这⾥的解决⽅法是注释掉curl中的
//设置头⽂件的信息作为数据流输出
//        curl_setopt($curl, CURLOPT_HEADER, 1);
//    post请求
public function wxpost($url,$post)
{
//初始化
$curl = curl_init();
$header[] = "Content-type: text/xml";//定义content-type为xml
//设置抓取的url
curl_setopt($curl, CURLOPT_URL, $url);
//设置头⽂件的信息作为数据流输出
//        curl_setopt($curl, CURLOPT_HEADER, 1);
//定义请求类型
curl_setopt($curl, CURLOPT_HTTPHEADER, $header);
//设置获取的信息以⽂件流的形式返回,⽽不是直接输出。
curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);
//设置post⽅式提交
curl_setopt($curl, CURLOPT_POST, 1);
//设置post数据
$post_data = $post;
curl_setopt($curl, CURLOPT_POSTFIELDS, $post_data);
//执⾏命令
$data = curl_exec($curl);
//关闭URL请求
//显⽰获得的数据
//        print_r($data);
if ($data)
{
curl_close($curl);
return $data;
}else{
$res = curl_error($curl);
curl_close($curl);
return $res;
}
}
//    将数组转化为xml数据格式
public function arrayToXml($arr){
$xml = "<xml>";
foreach ($arr as $key=>$val){
if(is_array($val)){
$xml.="<".$key.">".$this->arrayToXml($val)."</".$key.">";
}else{
$xml.="<".$key.">".$val."</".$key.">";
$xml.="<".$key.">".$val."</".$key.">";
}curl是什么命令
}
$xml.="</xml>";
return $xml;
}
/
/    将XML转化为json/数组
public function xmlToArray($xml,$type=''){
//禁⽌引⽤外部xml实体
libxml_disable_entity_loader(true);
//        simplexml_load_string()解析读取xml数据,然后转成json格式
$xmlstring = simplexml_load_string($xml, 'SimpleXMLElement', LIBXML_NOCDATA);
if ($type == "json")
{
$json = json_encode($xmlstring);
return $json;
}
$arr = json_decode(json_encode($xmlstring),true);
return $arr;
}

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。