cURL模拟POST方法提交XML数据并解析
2015-11-20 16:26
525 查看
php编程中会用到xml格式传送数据,这里演示下php以post形式发送xml,服务器接收,并解析xml的过程!
post_xml.php源码:
结果:
name->张三
age->22
post_xml.php源码:
<?php header("Content-Type:text/html; charset=utf-8"); //检测是否支持cURL if(!extension_loaded('curl')) { trigger_error('对不起,请开启curl功能模块!', E_USER_ERROR); } //构造xml $xmldata = <<<xml <?xml version='1.0' encoding='UTF-8'?> <group> <name>张三</name> <age>22</age> </group> xml; //初始化curl会话 $ch = curl_init(); //设置url curl_setopt($ch, CURLOPT_URL, 'http://localhost/test/deal_xml.php'); //设置发送方式 curl_setopt($ch, CURLOPT_POST, true); //设置发送的数据 curl_setopt($ch, CURLOPT_POSTFIELDS, $xmldata); //抓取URL并把它传递给浏览器 curl_exec($ch); //关闭cURL资源,并且释放系统资源 curl_close($ch); ?>
注:构造xml时一定要注意格式正确,不能有空格等 deal_xml.php源码:
<?php //接收传送的数据 $fileContent = file_get_contents("php://input"); //转换为simplexml对象 $xmlResult = simplexml_load_string($fileContent); //foreach遍历循环 foreach($xmlResult->children() as $childItem) { echo $childItem->getName() . '->' . $childItem . '<br/>'; //输出xml节点名称和值 } ?>
结果:
name->张三
age->22
相关文章推荐
- 进程锁
- 银行机构代码
- nginx高并发优化
- 苹果 微信 LinkButton 无效
- Android三类传感器-动作传感器-位置传感器-环境传感器
- Java用wait和notify实现线程协作
- Java用wait和notify实现线程协作
- 第一个JAVA程序
- [置顶] OpenLayers 3 之 Overlay(覆盖物)详解
- 简单理解Socket
- hyperic-sigar 获取全面的系统信息
- Fragment的创建以及与activity的参数传递
- 虚拟机的安装
- 数据库:多表之间的设计以及对应类之间的关系,与数据库的操作。
- onWindowFocusChanged重要作用 and Activity生命周期
- GCD 创建异步线程
- 网络错误定位案例 ICMP host *** unreachable - admin prohibited
- c# 字符串填充占位
- noip2015 提高组day1、day2
- SQUID常用命令