Я получаю данные из 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
решил проблему. Спасибо Марио.
Задача ещё не решена.
Других решений пока нет …