将xml数据添加到http请求

时间:2014-12-09 15:44:29

标签: php xml curl

我是php编程的新手,我想以xml格式向我的http请求添加数据。 我使用curl使用这个PHP代码生成HTTP请求:

<?php
      $fields = array(            'SERIAL_NUMBER ' => urlencode('123456'),
                            'HARDWARE_ID ' => urlencode('455FFG'),
                            'CODE ' => urlencode('99'),
                            //field goes here 
                );

      foreach($fields as $key=>$value) { $fields_string .= $key.'='.$value.'&'; }
      rtrim($fields_string, '&');

        $ch = curl_init("http://192.168.1.110:10000");
        curl_setopt($ch, CURLOPT_HEADER, 1);
        curl_setopt($ch, CURLOPT_RETURNTRANSFER, 0);                       
        $output = curl_exec($ch);
        curl_close($ch);
        echo $output;   

?>

我想在http请求中添加字段数组[SERIAL_NUMBER和HARDWARE_ID和CODE],格式为xml

所需http请求的格式为:

POST / HTTP/1.1
Host: 192.168.1.110:10000
Accept: */*
Content-Length: 52
Content-Type: application/x-www-form-urlencoded

HTTP/1.1 100 Continue //server responce

<?xml version="1.0" encoding="UTF-8" standalone="no"?>
    <Device Parameters>
     <SERIAL_NUMBER>123456</SERIAL_NUMBER>
     <HARDWARE_ID>455FFG</HARDWARE_ID>
     <CODE>99</CODE>
    </Device Parameters>

注意:我的服务器侦听端口10000 @ 192.168.1.110

感谢任何帮助

1 个答案:

答案 0 :(得分:0)

您可以使用SimpleXMLElement。 表示XML文档中的元素。

http://php.net/manual/en/class.simplexmlelement.php