本文实例讲述了php以post形式发送xml的方法。分享给大家供大家参考。具体方法如下:

方法一,使用curl:
复制代码 代码如下:$xml_data = <xml>...</xml>";
$url = "http://www.xxxx.com";
$header[] = "Content-type: text/xml";//定义content-type为xml
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_HTTPHEADER, $header);
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, $xml_data);
$response = curl_exec($ch);
if(curl_errno($ch))
{
    print curl_error($ch);
}
curl_close($ch);

方法二,使用fsockopen:

复制代码 代码如下:$fp = fsockopen($server_ip, 80);
fputs($fp, "POST $path HTTP/1.0 ");
fputs($fp, "Host: $server ");
fputs($fp, "Content-Type: text/xml ");
fputs($fp, "Content-Length: $contentLength ");
fputs($fp, "Connection: close ");
fputs($fp, " "); // all headers sent
fputs($fp, $xml_data);
$result = "";
while (!feof($fp)) {
$result .= fgets($fp, 128);
}
return $result;

PS:这里再为大家提供几款关于xml操作的在线工具供大家参考使用:

在线XML/JSON互相转换工具:
http://tools.jb51.net/code/xmljson

在线格式化XML/在线压缩XML:
http://tools.jb51.net/code/xmlformat

XML在线压缩/格式化工具:
http://tools.jb51.net/code/xml_format_compress

希望本文所述对大家的PHP程序设计有所帮助。