2012-07-12 123 views
0

我有以下目的:PHP對象,如何訪問一個SimpleXMLElement

object(SimpleXMLElement)#337 (1) { [0]=> string(4) "1001" } 

但是我似乎無法使用來訪問它[0]或甚至不使用的foreach($值$ OBJ => $ objvalue)

我在做什麼錯?

+0

嘗試將它轉換爲數組to string:'(string)$ element' – bububaba 2012-07-12 08:40:00

+0

@bububaba,thx!工作 – Alon 2012-07-12 08:46:31

回答

0

嘗試使用

$objectarray = get_object_vars(object(SimpleXMLElement)); 
0

通過觀察到的SimpleXMLElement manual我發現這個例子(示例XML文件鏈接的頁面的頂部):

$movies = new SimpleXMLElement($xmlstr); 

/* For each <character> node, we echo a separate <name>. */ 
foreach ($movies->movie->characters->character as $character) { 
    echo $character->name, ' played by ', $character->actor, PHP_EOL; 
} 

我發現此功能將XML對象轉換爲數組,可能更容易使用?:

function toArray($xml) { //$xml is of type SimpleXMLElement 
     $array = json_decode(json_encode($xml), TRUE); 

     foreach (array_slice($array, 0) as $key => $value) { 
      if (empty($value)) $array[$key] = NULL; 
      elseif (is_array($value)) $array[$key] = toArray($value); 
     } 

     return $array; 
    }