curl发送xml , xml和数组互转
public function postXml($url, array $data)
{
// pack xml
$xml = $this->arrayToXml($data); // curl post
$ch = curl_init();
curl_setopt($ch, CURLOPT_TIMEOUT, 30);
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, FALSE);
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, FALSE);
curl_setopt($ch, CURLOPT_HEADER, FALSE);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, TRUE);
curl_setopt($ch, CURLOPT_POST, TRUE);
curl_setopt($ch, CURLOPT_POSTFIELDS, $xml);
$response = curl_exec($ch);
if (!$response) {
throw new Exception('CURL Error: ' . curl_errno($ch));
}
curl_close($ch); // unpack xml
return $this->xmlToArray($response);
} public function arrayToXml(array $data)
{
$xml = "<xml>";
foreach ($data as $k => $v) {
if (is_numeric($v)) {
$xml .= "<{$k}>{$v}</{$k}>";
} else {
$xml .= "<{$k}><![CDATA[{$v}]]></{$k}>";
}
}
$xml .= "</xml>";
return $xml;
} public function xmlToArray($xml)
{
return json_decode(json_encode(simplexml_load_string($xml, 'SimpleXMLElement', LIBXML_NOCDATA)), true);
}
curl发送xml , xml和数组互转的更多相关文章
- 微信开发所需要的的方法(签名认证、数组转字符串方法、将xml字符串转换为数组、发送xml请求方法)
//将xml字符串转换为数组 public function xmlToArray($xml){ $array_data = json_decode(json_encode(simplexml_loa ...
- php使用 SImpleXMLElement 把 xml 和 数组 互转
<?php $xml = <<<XML <xml> <ToUserName><![CDATA[toUser]]></ToUserNam ...
- php通过curl发送XML数据,并获取XML数据
php编程中经常会用到用xml格式传送数据,如调用微信等第三方接口经常用到,这里演示下php以curl形式发送xml,并通过服务器接收 一.发送xml数据 -- postXml.php <?ph ...
- xml和数组互转
/** * 输出xml字符 * @param $params 参数名称 * return string 返回组装的xml **/ public function data_to_xml( $param ...
- PHP将XML转成数组
如果你使用 curl 获取的 xml data$xml = simplexml_load_string($data);$data['tk'] = json_decode(json_encode($xm ...
- PHP如何将XML转成数组
如果你使用 curl 获取的 xml data $xml = simplexml_load_string($data); $data['tk'] = json_decode(json_encode($ ...
- XML和对象属性互转的基类
本人做了一个XML和对象属性互转的基类,现在放上来有兴趣拿去看一下,用法很简单,声明一个BaseConversion的子类,该子类与你想转换的对象相对应,然后覆盖基类的两个虚方法,然后在里面写元素与对 ...
- 分享一个解析XML成为php数组的方法
原文:分享一个解析XML成为php数组的方法 <?php /* * To change this template, choose Tools | Templates * and open th ...
- xml字符串,xml对象,数组之间的相互转化
<?phpnamespace Home\Controller;use Think\Controller;class IndexController extends Controller { pu ...
随机推荐
- PAT 乙级 1072 开学寄语(20 分)
1072 开学寄语(20 分) 下图是上海某校的新学期开学寄语:天将降大任于斯人也,必先删其微博,卸其 QQ,封其电脑,夺其手机,收其 ipad,断其 wifi,使其百无聊赖,然后,净面.理发.整衣, ...
- 新建本地仓库,同步远程仓场景,出现git branch --set-upstream-to=origin/master master 解决方法
1.本地创建一个本地仓库 2.关联远程端:git remote add origin git@github.com:用户名/远程库名.git3.同步远程仓库到本地git pull这个时候会报错If y ...
- Scala中的柯里化
一.初识Currying柯里化 柯里化(Currying)技术 Christopher Strachey 以逻辑学家 Haskell Curry 命名的(尽管它是 Moses Schnfinkel ...
- 改变端口的方法phpstudy
document.ready 一个页面可以用无数次: window.onload 一个页面只能用一次,并且在最顶层: 用户交互:用户在网页上的一些行为: 服务交互:Ajax: 组件:(白话:按照我的规 ...
- 如何获取阿里云OSS上每个文件夹的大小
原文 https://help.aliyun.com/document_detail/88458.html?spm=a2c4g.11186623.2.11.792462b15oU02q OSS文件按照 ...
- python:逻辑运算与编码
一. 1.pycharm的使用 2.in not in 的使用 in not in 为了查找数据中是否存在需要查找的数据, in如果存在返回True,不存在返回False (not i ...
- 升级安装APK兼容Android7.0,解决FileUriExposedException
见http://blog.csdn.net/ruancoder/article/details/67639621?utm_source=itdadao&utm_medium=referral
- Css学习(4)
文档流(标准流) 元素自上而下,自左而右,块元素独占一行,行内元素在一行上显示,碰到父集元素的边框换行. 浮动布局 float: left | right 特点: ★元素浮动之后不占据原来的 ...
- 00002 - echo命令详解
用于字符串的输出 格式 echo string 使用echo实现更复杂的输出格式控制 1.显示普通字符串: echo "It is a test" 这里的双引号完全可以省略,以下命 ...
- tomcat安全加固和规范
tomcat是一个开源Web服务器,基于Tomcat的Web运行效率高,可以在一般的硬件平台上流畅运行,因此,颇受Web站长的青睐.不过,在默认配置下其存在一定的安全隐患,可被恶意攻击.以下是一些安全 ...