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瀏覽器