Ir ao conteúdo
  • Cadastre-se

Ler diversos arquivos xml


Posts recomendados

Boa tarde!

 

estou precisando que esse script leia todos os XML's  de certa pasta (são mais de 350.000). Gostaria de saber o que tenho que fazer pra fazer que ele leia todos.

 

<?php
//Ler Arquivos TESTE5.XML
$doc = new DOMDocument();
//Nome do XML
$doc->load( 'teste5.xml' );

//Entra dentro da Tabela "Emit"
$books = $doc->getElementsByTagName( "emit" );
foreach( $books as $book )
{
$nomes = $book->getElementsByTagName( "xNome" );
$nome = $nomes->item(0)->nodeValue;

$nfants = $book->getElementsByTagName( "xFant" );
$nfant = $nfants->item(0)->nodeValue;

$cnpjs = $book->getElementsByTagName( "CNPJ" );
$cnpj = $cnpjs->item(0)->nodeValue;

$lugares = $book->getElementsByTagName( "xLgr" );
$lugar = $lugares->item(0)->nodeValue;

$bairros = $book->getElementsByTagName( "xBairro" );
$bairro = $bairros->item(0)->nodeValue;

$ceps = $book->getElementsByTagName( "CEP" );
$cep = $ceps->item(0)->nodeValue;


//Entra dentro da Tabela "IDE"
$books = $doc->getElementsByTagName( "ide" );
foreach( $books as $book )
{
//Pegar Data da NFe
$datesEmi = $book->getElementsByTagName( "dEmi" );
$emi = $datesEmi->item(0)->nodeValue;

$nNOTAs = $book->getElementsByTagName( "nNF");
$nNOTA = $nNOTAs->item(0)->nodeValue;
}

//Mostra o conteudo das variaveis na tela:
echo "-----------------------------------------------------------------------------------------ORIGEM----------------------------------------------------------------------------------------";
echo "<br>";
echo "<br>";
echo "<br>";
echo "<b>Numero da Nota:</b> $nNOTA";
echo "<br>";
echo "<b>Nome:</b> $nome";
echo "<br>";
echo "<b>Nome Fantasia:</b> $nfant";
echo "<br>";
echo "<b>CNPJ:</b> $cnpj";
echo "<br>";
echo "<b>Endereço:</b> $lugar";
echo "<br>";
echo "<b>Bairro:</b> $bairro";
echo "<br>";
echo "<b>CEP:</b> $cep";
echo "<br>";
echo "<b>Data de Emissão:</b> $emi";
}
//Destinatario
echo "<br>";
echo "<br>";
echo "<br>";
echo "----------------------------------------------------------------------------------DESTINATARIO----------------------------------------------------------------------------------";
echo "<br>";
echo "<br>";
echo "<br>";
$books = $doc->getElementsByTagName( "dest" );
foreach( $books as $book )
{

$nomes2 = $book->getElementsByTagName( "xNome" );
$nome2 = $nomes2->item(0)->nodeValue;

$cnpjs2 = $book->getElementsByTagName( "CNPJ" );
$cnpj2 = $cnpjs2->item(0)->nodeValue;

$lugares2 = $book->getElementsByTagName( "xLgr" );
$lugar2 = $lugares2->item(0)->nodeValue;

$bairros2 = $book->getElementsByTagName( "xBairro" );
$bairro2 = $bairros2->item(0)->nodeValue;
}
//Entrar dentro da tabela ICMSTot
$books = $doc->getElementsByTagName( "ICMSTot" );
foreach( $books as $book )
{
//Pegar Data da NFe
$vNFs = $book->getElementsByTagName( "vNF" );
$vNF = $vNFs->item(0)->nodeValue;

}
echo "<b>Nome:</b> $nome2";
echo "<br>";
echo "<b>CNPJ:</b> $cnpj2";
echo "<br>";
echo "<b>Endereço:</b> $lugar";
echo "<br>";
echo "<b>Bairro:</b> $bairro";
echo "<br>";
echo "<b>CEP:</b> $cep";
echo "<br>";
echo "<b>Valor da NF R$:</b> $vNF";

//conexão com MySQL
$servername = "localhost";
$username = "root";
$password = "xxx";
$dbname = "xxxx";

// Create connection
$conn = new mysqli($servername, $username, $password, $dbname);
// Check connection
if ($conn->connect_error) {
    die("Connection failed: " . $conn->connect_error);
}

$sql = "INSERT INTO J_Emit (nNF, Nome, Nome_Fant, CNPJ, Adress, Bairro, CEP, nEmit)
VALUES ('$nNOTA', '$nome', '$nfant', '$cnpj', '$lugar', '$bairro', '$cep', '$emi')";

echo "<br>";
if ($conn->query($sql) === TRUE) {
    echo "New record created successfully";
} else {
    echo "Error: " . $sql . "<br>" . $conn->error;
}

$conn->close();

?>

eu só vi exemplos de como ler uma X quantidade de arquivos, seria possivel deixar isso ilimitado?

 

Atenciosamente,

Pedro.

Link para o comentário
Compartilhar em outros sites

Visitante
Este tópico está impedido de receber novas respostas.

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×
×
  • Criar novo...