childNodes; if($configs) { $array = array(); foreach($configs as $value) { if($value->nodeName == $name) { if($value->getElementsByTagName($name)->length == 0) { $array[$value->getAttribute($attribut)] = trim($value->textContent); } else $array[$value->getAttribute($attribut)] = parse_config($value,$name,$attribut); } } return $array; } else return array(); } /*function parse($file) { $xml = new DOMDocument(); $xml->load($file); #$xml->validate(); if($root = $xml->documentElement->getAttribute('root')) { if($root == substr(FILE,0,strlen($root))) { $search = substr(FILE,strlen($root)); $paths = explode('/',$search); $paths2 = $paths; foreach($paths as $key => $path) { for($i = $key - 1; $i >= 0; $i--) { $paths2[$key] = $paths[$i] . '/' . $paths2[$key]; } if($key != count($paths) - 1) $paths2[$key] .= '/'; } foreach($xml->getElementsByTagName('config') as $value) { $config[$value->getAttribute('match')] = $value; } $parsed = array(); array_unshift($paths2,'*'); foreach($paths2 as $path) { if($config[$path]) $parsed = array_merge($parsed,parse_config($config[$path])); } return $parsed; } } else return FALSE; } define('FILE','/var/www/site/test/test.php'); print_r(parse('../config/root.xml'));*/ ?>