2016-11-25 48 views
1

在我的示例中,我生成了一個XML文件。當我通過它循環時,我需要檢查第一個頂級元素的名稱,以確定如何處理它。PHP SimpleXML - 循環和檢查元素的名稱

這裏是我的代碼和僞代碼:

 $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 
    } 
}