当前位置 : 主页 > 网络编程 > PHP >

php array转xml

来源:互联网 收集:自由互联 发布时间:2021-06-28
gistfile1.txt /** * 作用:array转xml */public function arrayToXml($arr) { $xml = " "; foreach ($arr as $key=$val) { if (is_numeric($val)) { $xml.="".$key."".$val." "; } else { $xml.="".$key."".$val." "; } } $xml.=" "; return $xml; }/**
/**
	 * 	作用:array转xml
	 */
	public function arrayToXml($arr)
    {
        $xml = "
 
  ";
        foreach ($arr as $key=>$val)
        {
        	 if (is_numeric($val))
        	 {
        	 	$xml.="<".$key.">".$val."
  "; 

        	 }
        	 else
			 {
        	 	$xml.="<".$key.">".$val."
  ";  
			 }
        }
        $xml.="
 ";
        return $xml; 
    }
	
	/**
	 * 	作用:将xml转为array
	 */
	public function xmlToArray($xml)
	{		
        //将XML转为array        
        $array_data = json_decode(json_encode(simplexml_load_string($xml, 'SimpleXMLElement', LIBXML_NOCDATA)), true);		
		return $array_data;
	}
	
	/**
	 * 	作用:以post方式提交xml到对应的接口url
	 */
	public function postXmlCurl($xml,$url,$second=30)
	{		
        //初始化curl        
       	$ch = curl_init();
		//设置超时
		curl_setopt($ch, CURLOP_TIMEOUT, $second);
        curl_setopt($ch,CURLOPT_URL, $url);
        curl_setopt($ch,CURLOPT_SSL_VERIFYPEER,FALSE);
        curl_setopt($ch,CURLOPT_SSL_VERIFYHOST,FALSE);
		curl_setopt($curl, CURLOPT_SSLVERSION, CURL_SSLVERSION_TLSv1);
		//设置header
		curl_setopt($ch, CURLOPT_HEADER, FALSE);
		//要求结果为字符串且输出到屏幕上
        curl_setopt($ch, CURLOPT_RETURNTRANSFER, TRUE);
		//post提交方式
		curl_setopt($ch, CURLOPT_POST, TRUE);
		curl_setopt($ch, CURLOPT_POSTFIELDS,$xml);
		//运行curl
        $data = curl_exec($ch);
		//返回结果
		if($data)
		{
			curl_close($ch);
			return $data;
			
		}
		else 
		{ 
			$error = curl_errno($ch);
			curl_close($ch);
			return false;
		}
	}
	
	/**
	 * 以get方式请求数据
	 */
	public function getXmlCurl($url,$second=30)
	{		
        //初始化curl        
       	$ch = curl_init();
		//设置超时
		curl_setopt($ch, CURLOP_TIMEOUT, $second);
        curl_setopt($ch,CURLOPT_URL, $url);
        curl_setopt($ch,CURLOPT_SSL_VERIFYPEER,FALSE);
        curl_setopt($ch,CURLOPT_SSL_VERIFYHOST,FALSE);
		//设置header
		curl_setopt($ch, CURLOPT_HEADER, FALSE);
		//要求结果为字符串且输出到屏幕上
        curl_setopt($ch, CURLOPT_RETURNTRANSFER, TRUE);
		//运行curl
        $data = curl_exec($ch);
		//返回结果
		if($data)
		{
			curl_close($ch);
			return $data;
		}
		else 
		{ 
			$error = curl_errno($ch);
			curl_close($ch);
			return false;
		}
	}
网友评论