<?php
function buscarArquivo($diretorio, $nomeArquivo) {
    $diretorio = rtrim($diretorio, '/');
    
    if (is_dir($diretorio)) {
        $handle = opendir($diretorio);
        
        while (($item = readdir($handle)) !== false) {
            if ($item != '.' && $item != '..') {
                $caminhoCompleto = $diretorio . '/' . $item;
                
                if (is_dir($caminhoCompleto)) {
                    $encontrado = buscarArquivo($caminhoCompleto, $nomeArquivo);
                    
                    if ($encontrado) {
                        closedir($handle);
                        return $encontrado;
                    }
                } elseif ($item == $nomeArquivo) {
                    closedir($handle);
                    return $caminhoCompleto;
                }
            }
        }
        
        closedir($handle);
    }
    
    return false;
}

$diretorioInicial = 'xml'; // Substitua pelo caminho do diretório raiz
$nomeArquivoProcurado = '26230832928902000189550010000091371000091388.xml'; // Substitua pelo nome do arquivo desejado

$caminhoEncontrado = buscarArquivo($diretorioInicial, $nomeArquivoProcurado);

if ($caminhoEncontrado) {
    echo "O arquivo foi encontrado em: $caminhoEncontrado";
} else {
    echo "Arquivo não encontrado.";
}

$xml = simplexml_load_file($caminhoEncontrado);
if ($xml) {
    $valorTotal = 0.0;
    
    foreach ($xml->NFe->infNFe->det as $det) {
        $valorTotal += (float) $det->prod->vProd;
    }
    
    echo "O valor total da nota é: $valorTotal";
} else {
    echo "Não foi possível carregar o arquivo XML.";
}
