2016-11-25 3 views
1

В моем примере у меня есть файл в XML-файле. Когда я прохожу через него, мне нужно проверить, что имя первого элемента верхнего уровня определяет, что с ним делать.PHP SimpleXML - Loop и проверить имя элемента

Вот мой код и псевдокод:

 $xml = simplexml_load_file($xmlfile); 

     $produce = array(); 
     $i = 0; 

     foreach ($xml as $prod) { 
      //this works if I know there is fruit 
      $nm = $xml->fruit->name; //apple 
      $produce[i]['name'] = $nm 

      //what I want is this 
      if (the first level element name is 'fruit') then 
       do something fruity like $produce[i]['type'] = 1 
      else if (the first level element name is 'vegetable' then 
       do something else like $produce[i]['type'] = 2 

     $counter++; 
     } 

Мы все думать «почему фрукты/овощи не является атрибутом элемента?» - У меня нет контроля над входом.

Как я могу проверить имя этого первого элемента?

ответ

0

Я сделал это, используя children().

foreach ($xml->children() as $kid) { 
    if ($kid->getName() == 'fruit') { 
     //do something fruity 
    } 
}