@rinaz22

Как получить первый элемент группы в объекте php?

Всем привет. Есть XML файлы с разными значениями и ключами. Нужно получить первый элемент группы.
Пример XML:
<?xml version="1.0"?>
<Company>
  <Test1>
    <Employee>
        <FirstName>Tanmay</FirstName>
    </Employee>
    <Employee>
        <FirstName>Tanmay</FirstName>
    </Employee>
  </Test1>
</Company>

Нужно получить первый Employee и все что у него внутри. Ключ может быть разный.
Также количество вложений неизвестно. Т.е. как Test1 может и не быть, а может быть вообще несколько и внутри этого храниться группы.
  • Вопрос задан
  • 91 просмотр
Пригласить эксперта
Ответы на вопрос 1
@alexalexes
Нужно рекурсивно погрузиться внутрь дерева по ветке первого ребенка на нужный уровень вложенности.
$doc = new DOMDocument;
$doc->load('company.xml');
function get_children($doc, $max_level, $level)
{
  if($max_level > $level)
  {
     if($doc->count() > 0)
     {
       $childs = $doc->children(); 
       return get_children($childs[0], $max_level, $level + 1);
     }
     else
       return null;
  }
  return $doc;
}
$employee = get_children($doc, 2, 0); 2 -  целевой уровень, 0 - стартовое значение уровня.
Ответ написан
Ваш ответ на вопрос

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

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