Почему фигурная скобка вокруг строки не выводит правильный результат SimpleXML?

Я получаю данные из API, который возвращает список задач, например:

<tasks>
<task>
<id type="integer">937510</id>
<external-id nil="true">
<description>needs to be italic in the 2nd line of copy in this paragraph</description>
</external-id>
</task>
</tasks>

Я пытаюсь проанализировать вышеупомянутый XML, используя этот простой код PHP в 5.6.2. $api является объектом ранее определенного класса, который извлекает данные без проблем:

$tasks_xml = $api->get_project_tasks('17347');
$tasks_object = new SimpleXMLElement($tasks_xml);
echo '<h2>'.$tasks_object->task[0]->id.'</h2>';
echo '<h2>'.$tasks_object->task[0]->{'external-id'}->description.'</h2>';

Однако вывод, который я получаю, следующий. external-id не доступен, хотя я окружаю его фигурными скобками и цитатами.

<h2>280095</h2>
<h2></h2>

Я получаю тот же результат, если я сохраняю 'external-id' к переменной, как $external_id и получить к нему доступ, используя ->task[0]->$external_id,

Что мне нужно сделать, чтобы получить доступ к данным внутри external-id узел?

Изменить: оказывается, что, когда SimpleXml проанализировал XML, он сделал description ребенок external-id, Обновление запроса до task[0]->description решил проблему. Спасибо Марио.

0

Решение

Задача ещё не решена.

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

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

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