2013-06-17 2 views
-2

SimpleXMLElement 데이터 개체가 있습니다. SimpleXMLElement to array

배열로 변환하려면 나는 단순히

$data = (array) $xmlObj; 

그리고 그 확인하지만, <![CDATA[LOREM IPSUM]]> 같은 데이터가 빈 배열로 변환합니다. 일반 배열 행으로 변환해야합니다.

코드 :

$e = simplexml_load_string($fileContent); 
    $books = array(); 
    foreach ($e->product as $book) { 
     $books[] = (array) $book; 
    } 

답변

1
function toArray(SimpleXMLElement $xml) { 
     $array = (array)$xml; 

     foreach (array_slice($array, 0) as $key => $value) { 
      if ($value instanceof SimpleXMLElement) { 
       $array[$key] = empty($value) ? NULL : toArray($value); 
      } 
     } 
     return $array; 
    }