PHP-来自curl_exec()的格式错误的结果

PHP-来自curl_exec()的格式错误的结果,php,xml,curl,soap,Php,Xml,Curl,Soap,我对PHP函数curl\u exec()有问题。我向一个通知发送一个SOAP请求,该通知应该返回一个SOAP响应,但我只得到一个没有XML标记的字符串 好的,我用这个代码: protected function _send_request($url,$post_string) { $soap_do = curl_init(); curl_setopt($soap_do, CURLOPT_URL, $url ); curl_setopt($soap_

我对PHP函数curl\u exec()有问题。我向一个通知发送一个SOAP请求,该通知应该返回一个SOAP响应,但我只得到一个没有XML标记的字符串

好的,我用这个代码:

protected function _send_request($url,$post_string) {
    $soap_do = curl_init();
    curl_setopt($soap_do, CURLOPT_URL,            $url );

    curl_setopt($soap_do, CURLOPT_CONNECTTIMEOUT, 10);
    curl_setopt($soap_do, CURLOPT_TIMEOUT,        10);
    curl_setopt($soap_do, CURLOPT_RETURNTRANSFER, true );
    curl_setopt($soap_do, CURLOPT_SSL_VERIFYPEER, false);
    curl_setopt($soap_do, CURLOPT_SSL_VERIFYHOST, false);
    curl_setopt($soap_do, CURLOPT_POST,           true );
    curl_setopt($soap_do, CURLOPT_POSTFIELDS,     $post_string);
    curl_setopt($soap_do, CURLOPT_HTTPHEADER,     array('Content-Type: text/xml; charset=utf-8', 'Content-Length: '.strlen($post_string) ));
    if ( ($result = curl_exec($soap_do)) === false) {
        echo curl_error($soap_do);
    } 
    else {
        echo("<pre>".$result."</pre>");
    }
}

XML结构似乎丢失了,我无法重新创建它。我正在使用XAMPPHPVersion5.3.1和curl扩展。有人知道如何获得原始的XML结构吗?

如果您在浏览器中回显该结果,那么浏览器会将所有这些XML标记错误地解释为HTML,并且只相应地向您显示部分结果。查看浏览器的页面源代码,您可能会看到完整的XML。它位于
中,可以保留换行符,但您需要
htmlspecialchars()
来转义
。无论何时,当您想要检查任何机器可读的字符串(或检查您的PHP代码是否产生了预期的输出)时,不要将其视为在浏览器中呈现的字符串。改为查看源代码。
<?xml version='1.0' encoding='utf-8'?>
<s:Envelope xmlns:s=\"http://www.w3.org/2003/05/soap-envelope\" xmlns:tds=\"http://www.onvif.org/ver10/device/wsdl\" xmlns:tt=\"http://www.onvif.org/ver10/schema\">
    <s:Body>
        <tds:GetSystemDateAndTimeResponse>
            <tds:SystemDateAndTime>
                <tt:DateTimeType>
                    Manual
                </tt:DateTimeType>
                <tt:DaylightSavings>
                    true
                </tt:DaylightSavings>
                <tt:TimeZone>
                    <tt:TZ>
                        CET-1CEST,M3.5.0,M10.5.0/3
                    </tt:TZ>
                </tt:TimeZone>
                <tt:UTCDateTime>
                    <tt:Time>
                        <tt:Hour>
                            13
                        </tt:Hour>
                        <tt:Minute>
                            26
                        </tt:Minute>
                        <tt:Second>
                            21
                        </tt:Second>
                    </tt:Time>
                    <tt:Date>
                        <tt:Year>
                            2014
                        </tt:Year>
                        <tt:Month>
                            2
                        </tt:Month>
                        <tt:Day>
                            5
                        </tt:Day>
                    </tt:Date>
                </tt:UTCDateTime>
                <tt:LocalDateTime>
                    <tt:Time>
                        <tt:Hour>
                            14
                        </tt:Hour>
                        <tt:Minute>
                            26
                        </tt:Minute>
                        <tt:Second>
                            21
                        </tt:Second>
                    </tt:Time>
                    <tt:Date>
                        <tt:Year>
                            2014
                        </tt:Year>
                        <tt:Month>
                            2
                        </tt:Month>
                        <tt:Day>
                            5
                        </tt:Day>
                    </tt:Date>
                </tt:LocalDateTime>
            </tds:SystemDateAndTime>
        </tds:GetSystemDateAndTimeResponse>
    </s:Body>
</s:Envelope>
ManualtrueCET-1CEST,M3.5.0,M10.5.0/3134622201425144622201425