php编程中会用到xml格式传送数据,这里演示下php以post形式发送xml,服务器接收,并解析xml的过程!

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

 

cURL模拟POST方法提交XML数据并解析的更多相关文章

  1. php curl模拟post请求提交数据样例总结

    在php中要模拟post请求数据提交我们会使用到curl函数,以下我来给大家举几个curl模拟post请求提交数据样例有须要的朋友可參考參考.注意:curl函数在php中默认是不被支持的,假设须要使用 ...

  2. php curl模拟post请求提交数据例子总结

    php curl模拟post请求提交数据例子总结 [导读] 在php中要模拟post请求数据提交我们会使用到curl函数,下面我来给大家举几个curl模拟post请求提交数据例子有需要的朋友可参考参考 ...

  3. XML数据的解析

    XML数据的解析 相比于JSON数据解析而言,XML数据解析可能会让更多的童鞋感觉到吃力,对我来说,同样认为JSON数据好像让人感觉比较友好,不过对于程序开发者来说,无非就是这两种数据解析占比较大的部 ...

  4. php curl模拟post请求提交数据

    最近在做校园图书馆图书信息的采集程序,既然是图书馆图书的采集,肯定有提交搜索的页面,无非是post提交,让我想到了curl模拟提交,首先通过firebug进行抓包查询下post提交后的格式如下: tx ...

  5. PHP Curl模拟登录并抓取数据

    使用PHP的Curl扩展库可以模拟实现登录,并抓取一些需要用户账号登录以后才能查看的数据.具体实现的流程如下(个人总结): 1. 首先需要对相应的登录页面的html源代码进行分析,获得一些必要的信息: ...

  6. SQL Server XML基础学习之<7>--XML modify() 方法对 XML 数据中插入、更新或删除

    /*------------------------------------------------------------------------------+ #| = : = : = : = : ...

  7. 转载---SQL Server XML基础学习之<7>--XML modify() 方法对 XML 数据中插入、更新或删除

    /*------------------------------------------------------------------------------+ #| = : = : = : = : ...

  8. curl模拟自动登陆&采集网页数据

    <!DOCTYPE> <html> <head> <meta http-equiv="Content-Type" content=&quo ...

  9. Jquery-ajax()方法提交json数据

    1.ajax()提交json数据代码 var strJson = getStrPayJson(); $.ajax({ type: "POST", url: "/userc ...

随机推荐

  1. poj-2403-cup

    题目描述 The WHU ACM Team has a big cup, with which every member drinks water. Now, we know the volume o ...

  2. http://www.sufeinet.com/thread-655-1-1.html

    http://www.sufeinet.com/thread-655-1-1.html

  3. JavaScript鼠标事件,点击鼠标右键,弹出div

    document.oncontextmenu = function(){return false}; //禁止鼠标右键菜单显示 var res = document.getElementById('b ...

  4. java字符串数组进行大小排序

    若是将两个字符串直接比较大小,会包:The operator > is undefined for the argument type(s) java.lang.String, java.lan ...

  5. QJson 的使用

    下载 源码解压 https://github.com/flavio/qjson 复制 src 目录下所有 .h .cpp .hh 文件到项目目录 qjson,pro 文件添加 INCLUDEPATH ...

  6. linux 安装nodejs

    首先去官网下载代码,这里一定要注意安装分两种,一种是Source Code源码,一种是编译后的文件. 我就是按照网上源码的安装方式去操作编译后的文件,结果坑了好久好久.     注意看好你下载的是什么 ...

  7. netty实现消息转发服务

    1.结构图 2.消息服务器 消息服务器(SNS)由Http Netty Server(HNS)和WebSocket Netty Server(WNS)组成.HNS采用Netty Http+XML协议栈 ...

  8. Unicode与汉字

    当遇到\u7f3a\u5c11  这样形式的字符串时,其实它代表的是汉字   具体的网上可以进行Unicode转中文   翻译

  9. Http和Socket连接

    转自http://hi.baidu.com/%D2%B9%D1%A9%B3%E6/blog/item/d6a72d2bbf467cf2e7cd406d.html 相信不少初学手机联网开发的朋友都想知道 ...

  10. 如何测试私有 Private/Internal 方法

    在实际开发中,经常会遇到这样的情况. 一个共有的 Public 方法实现某一主要功能,但是由于该功能的实现非常复杂,需要很多的辅助类,辅助方法.由于代码封装性的需求,我们通常需要把这些辅助的类方法定义 ...