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

Как преобразовать XML-строку в объект?

Не могу разобрать XML в объект:
<?php
error_reporting(E_ALL);

$xml = <<<EOD
<?xml version="1.0" encoding="UTF-8"?>
<env:Envelope xmlns:env="http://www.w3.org/2003/05/soap-envelope" xmlns:ns1="http://sharepoint.l/namespace.php" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:enc="http://www.w3.org/2003/05/soap-encoding">
  <env:Body>
    <ns1:GetList env:encodingStyle="http://www.w3.org/2003/05/soap-encoding">
      <param0 xsi:type="xsd:string">AA7D945C-E5C3-4854-B631-10A98E711E2B</param0>
    </ns1:GetList>
  </env:Body>
</env:Envelope>
EOD;

$sop = simplexml_load_string($xml);
var_dump($sop);

Получаю:
class SimpleXMLElement#1 (0) {
}
  • Вопрос задан
  • 3238 просмотров
Подписаться 1 Оценить Комментировать
Решения вопроса 1
Lebnik
@Lebnik Автор вопроса
Отвечу сам себе.
Предварительно отстойный вариант решения:

$sop = simplexml_load_string($xml);
$Body = $sop->children('http://www.w3.org/2003/05/soap-envelope');
$GetList = $Body->children('http://sharepoint.l/namespace.php');
$param0 = $GetList->children();
$code = (string)$param0;// получаем значение AA7D945C-E5C3-4854-B631-10A98E711E2B

как видите, преобразовать XML в объект у меня не получилось, но докопаться до значения определенного тега вышло, правда через пень-колоду.
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 1
А там не должен быть дополнительный параметр class_name? php.net/manual/ru/function.simplexml-load-string.php
Ответ написан
Ваш ответ на вопрос

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

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