Задать вопрос
vanesxl
@vanesxl

Почему не отрабатывает getElementsByTagName?

Добрый день!
Работаю с API сервиса nalog.ru
ко мне приходит такой вот результат:
<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
    <soap:Body>
        <GetMessageResponse xmlns="urn://x-artefacts-gnivc-ru/inplat/servin/OpenApiAsyncMessageConsumerService/types/1.0">
            <ProcessingStatus>COMPLETED</ProcessingStatus>
            <Message>
                <GetTicketResponse xmlns:S="http://schemas.xmlsoap.org/soap/envelope/" xmlns="urn://x-artefacts-gnivc-ru/ais3/kkt/KktTicketService/types/1.0">
                    <Result>
                        <Code>200</Code>
                        <Ticket>321321</Ticket>
                    </Result>
                </GetTicketResponse>
            </Message>
        </GetMessageResponse>
    </soap:Body>
</soap:Envelope>

Далее я пишу вот такой код:
$dom = new DOMDocument();
$dom->loadXML($response);
foreach($dom->getElementsByTagName('Code') as $element ){
      $code = $element->nodeValue;
}

Почему то в результате переменная $code у меня пустая, почему то getElementsByTagName не находит элемент. Хотя он явно там есть. Что я делаю не так?
Меня смущает то что ранее это работало!
  • Вопрос задан
  • 88 просмотров
Подписаться 1 Простой 4 комментария
Пригласить эксперта
Ответы на вопрос 1
toxa82
@toxa82
Думаю проблема в нэймспэйсах. Лучше используйте модуль soap и класс SoapClient. С ним должно быть проще получить ответ.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы