cURL模拟POST⽅法提交XML数据并解析php编程中会⽤到xml格式传送数据,这⾥演⽰下php以post形式发送xml,服务器接收,并解析xml的过程!
post_xml.php源码:
1 <?php
2header("Content-Type:text/html; charset=utf-8");
3//检测是否⽀持cURL
4if(!extension_loaded('curl'))
5    {
6trigger_error('对不起,请开启curl功能模块!', E_USER_ERROR);
7    }
8//构造xml
9$xmldata = <<<xml
10 <?xml version='1.0' encoding='UTF-8'?>
11    <group>
12        <name>张三</name>
13        <age>22</age>
14    </group>
15 xml;
16//初始化curl会话
17$ch = curl_init();
curl命令发送post请求带参数
18//设置url
19    curl_setopt($ch, CURLOPT_URL, 'localhost/test/deal_xml.php');
20//设置发送⽅式
21    curl_setopt($ch, CURLOPT_POST, true);
22//设置发送的数据
23    curl_setopt($ch, CURLOPT_POSTFIELDS, $xmldata);
24//抓取URL并把它传递给浏览器
25    curl_exec($ch);
26//关闭cURL资源,并且释放系统资源
27    curl_close($ch);
28 ?>
注:构造xml时⼀定要注意格式正确,不能有空格等
deal_xml.php源码:
1 <?php
2//接收传送的数据
3$fileContent = file_get_contents("php://input");
4//转换为simplexml对象
5$xmlResult = simplexml_load_string($fileContent);
6//foreach遍历循环
7foreach($xmlResult->children() as$childItem)
8    {
9echo$childItem->getName() . '->' . $childItem . '<br/>';    //输出xml节点名称和值
10    }
11 ?>
结果:
name->张三
age->22

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