Php肥皂,转储结果为XMl文件?

时间:2011-08-22 12:26:40

标签: php xml file soap save

我有一个SOAP(普通的PHP客户端)结果 从我的要求 我想将结果保存为XML文件?但是如何?

   $result = $client->__soapCall('MYwebServices',array($params));

    $xml = simplexml_load_string($result);

    $fp = fopen("out.xml","w");
    fwrite($fp,$xml);
    fclose($fp);

3 个答案:

答案 0 :(得分:3)

如果您想获取Web服务返回的XML,您应该使用SoapClient::__getLastResponse()(以及trace选项)。

$client = new SoapClient(..., array('trace' => 1));

// Do your __soapCall here

$xml = $client->__getLastResponse();

// Work with the XML string here

答案 1 :(得分:1)

$xml->asXML("out.xml");

SimpleXMLElement::asXML reference

答案 2 :(得分:0)

上面的代码是否不这样做,如果没有尝试:

$result = $client->__soapCall('MYwebServices',array($params));

    $xml = new DOMDocument();
$xml->load($result);
$xml->save("out.xml");

如果返回值不是xml或xml格式不正确,可能会破坏,在这种情况下请尝试:

$result = $client->__soapCall('MYwebServices',array($params));
    libxml_use_internal_errors(true);//load if improperly formatted
        $xml = new DOMDocument();
    if ($xml->load($result))
    {
        $xml->save("out.xml");
    }
    else {
        echo "The return data was not xml";
    }