cURL模擬POST方法提交XML數據並解析

php編程中會用到xml格式傳送數據,這裏演示下php以post形式發送xml,服務器接收,並解析xml的過程!php

post_xml.php源碼:html

 1 <?php 
 2     header("Content-Type:text/html; charset=utf-8");
 3     //檢測是否支持cURL
 4     if(!extension_loaded('curl'))
 5     {
 6         trigger_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();
18     //設置url
19     curl_setopt($ch, CURLOPT_URL, 'http://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遍歷循環
 7     foreach($xmlResult->children() as $childItem)
 8     {
 9         echo $childItem->getName() . '->' . $childItem . '<br/>';    //輸出xml節點名稱和值
10     }
11 ?>

結果:編程

name->張三
age->22瀏覽器

相關文章
相關標籤/搜索