我有一个SOAP(普通的PHP客户端)结果 从我的要求 我想将结果保存为XML文件?但是如何?
$result = $client->__soapCall('MYwebServices',array($params));
$xml = simplexml_load_string($result);
$fp = fopen("out.xml","w");
fwrite($fp,$xml);
fclose($fp);
答案 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");
答案 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";
}