мыльный клиент — PHP SoapClient __getLastResponse — как отобразить только один параметр

Когда я бегу

echo $ client -> __ getLastResponse ();

результат:

0 123 simple error

но

var_dump ($ клиент -> __ getLastResponse ());

результат:

<?xml version="1.0" encoding="utf-8"?><soap:Envelope xmlns:soap="http://www.w3.org/2003/05/soap-envelope"><soap:Header/><soap:Body><p1:FunctionResponse xmlns:p1="http://www.domain.com"><p1:TArrayFunctionResult><p1:Status>0</p1:Status><p1:ErrorCode>123</p1:ErrorCode><p1:ErrorMessage>simple error</p1:ErrorMessage></p1:TArrayFunctionResult></p1:CreateFunctionResponse></soap:Body></soap:Envelope>

Просто нужен дисплей Сообщение об ошибке пары
«простая ошибка»

0

Решение

Как очень грязный хак, вы можете использовать регулярное выражение.

<?php

$xml = <<<XML
<?xml version="1.0" encoding="utf-8"?><soap:Envelope xmlns:soap="http://www.w3.org/2003/05/soap-envelope"><soap:Header/><soap:Body><p1:FunctionResponse xmlns:p1="http://www.domain.com"><p1:TArrayFunctionResult><p1:Status>0</p1:Status><p1:ErrorCode>123</p1:ErrorCode><p1:ErrorMessage>simple error</p1:ErrorMessage></p1:TArrayFunctionResult></p1:CreateFunctionResponse></soap:Body></soap:Envelope>
XML;

preg_match("/\<p1:ErrorMessage\>(.*)\<\/p1:ErrorMessage\>/", $xml, $arrMatches);

echo $arrMatches[1];

https://eval.in/199000

1

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]