Пример #1
0
 /**
  * transforms a simplexml to an array
  *
  * @param   string  $xml    The xml source
  * @param   array   $arr    The result array
  * @return  array   $array  The resulting array
  */
 public static function xml2phpArray($xml, $arr)
 {
     $iter = 0;
     foreach ($xml->children() as $b) {
         $a = $b->getName();
         if (!$b->children()) {
             $arr[$a] = trim($b[0]);
         } else {
             $arr[$a][$iter] = array();
             $arr[$a][$iter] = xml2phpArray($b, $arr[$a][$iter]);
         }
         $iter++;
     }
     return $arr;
 }
function xml2array($source, $arr)
{
    $xml = simplexml_load_string(file_get_contents($source));
    $iter = 0;
    foreach ($xml->children() as $b) {
        $a = $b->getName();
        if (!$b->children()) {
            $arr[$a] = trim($b[0]);
        } else {
            $arr[$a][$iter] = array();
            $arr[$a][$iter] = xml2phpArray($b, $arr[$a][$iter]);
        }
        $iter++;
    }
    return $arr;
}