Я пытаюсь преобразовать SOAP-ответ в XML.
SOAP имеет конверт и корпус
<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema"> <soap:Body>
Когда я пытаюсь конвертировать
$responseXML = simplexml_load_string($string);
я получил
object(SimpleXMLElement)#20 (0) { }
Если я отредактирую $string
качестве soap:Envelope
and soap:Body
я могу получить XML.
Что случилось с:? Не удается получить XML.
Надеюсь, это ясно. Кто угодно?
Сообщение SOAP уже является XML. Проблема в том, что у него есть пространства имен, поэтому вам нужно обращаться к нему по-разному. (Часть перед двоеточием является идентификатором пространства имен.)
Здесь (кешированная копия Google) – пример использования пространств имен с SimpleXML.
Вот конкретный пример для чтения сообщений SOAP.
SimpleXML требует специального обращения для XML с именами ( ссылка ).