Exemplo n.º 1
0
 static function xml2assoc(&$xml)
 {
     $assoc = NULL;
     $n = 0;
     while ($xml->read()) {
         if ($xml->nodeType == XMLReader::END_ELEMENT)
             break;
         if ($xml->nodeType == XMLReader::ELEMENT and !$xml->isEmptyElement) {
             if ($xml->depth == 2) {
                 $assoc[$xml->name] = EClassApi::xml2assoc($xml);
             } else {
                 $assoc[$n][$xml->name] = EClassApi::xml2assoc($xml);
             }
             $n++;
         } else if ($xml->isEmptyElement) {
             $assoc[$n][$xml->name] = "";
             $n++;
         } else if ($xml->nodeType == XMLReader::TEXT) {
             $assoc = $xml->value;
         }
     }
     return $assoc;
 }