Tenho um código que faz a leitura de varios xml (fiscal), e grava o que encontrou em um banco de dados.
Como posso ler este arquivo, e salvar quando tem mais de 1 produto no xml? No momento ele salva apenas o primeiro item de cada arquivo xml.
foreach(glob('xml/*/*/*/{*.xml,*.XML}', GLOB_BRACE) as $xmlFile){
$xml = simplexml_load_file($xmlFile);
$chNFe= $xml->protNFe->infProt->chNFe;
$dhEmi= $xml->NFe->infNFe->ide->dhEmi;
$natOp= $xml->NFe->infNFe->ide->natOp;
$CNPJ= $xml->NFe->infNFe->emit->CNPJ;
$xNomeemit= $xml->NFe->infNFe->emit->xNome;
$xBairroemit= $xml->NFe->infNFe->emit->enderEmit->xBairro;
$xMunemit= $xml->NFe->infNFe->emit->enderEmit->xMun;
$UFemit= $xml->NFe->infNFe->emit->enderEmit->UF;
$foneemit= $xml->NFe->infNFe->emit->enderEmit->fone;
$cPaisemit= $xml->NFe->infNFe->emit->enderEmit->cPais;
$CPFdest= $xml->NFe->infNFe->dest->CPF;
$CNPJdest= $xml->NFe->infNFe->dest->CNPJ;
$xNome= $xml->NFe->infNFe->dest->xNome;
$xLgr= str_replace("'","",$xml->NFe->infNFe->dest->enderDest->xLgr);
$nro= $xml->NFe->infNFe->dest->enderDest->nro;
$xBairro= $xml->NFe->infNFe->dest->enderDest->xBairro;
$xMun= $xml->NFe->infNFe->dest->enderDest->xMun;
$UF= $xml->NFe->infNFe->dest->enderDest->UF;
$CEP= $xml->NFe->infNFe->dest->enderDest->CEP;
$cPais= $xml->NFe->infNFe->dest->enderDest->cPais;
$email= $xml->NFe->infNFe->dest->email;
$xProd= $xml->NFe->infNFe->det->prod->xProd;
$NCM= $xml->NFe->infNFe->det->prod->NCM;
$CFOP= $xml->NFe->infNFe->det->prod->CFOP;
$uCom= $xml->NFe->infNFe->det->prod->uCom;
$qCom= $xml->NFe->infNFe->det->prod->qCom;
$vProd= $xml->NFe->infNFe->det->prod->vProd;
$vUnTrib= $xml->NFe->infNFe->det->prod->vUnTrib;
$checkn = "SELECT * FROM xml WHERE chNFe = '$chNFe'";
$sqlcheckn = mysqli_query($conn, $checkn);
$rowsn = mysqli_num_rows($sqlcheckn);
if ($rowsn == 0)
{
$sql="INSERT INTO xml (
chNFe, dhEmi, natOp, CNPJ, xNomeemit, xBairroemit, xMunemit, UFemit, foneemit, cPaisemit, CPFdest, CNPJdest, xNome, xLgr, nro, xBairro, xMun, UF, CEP, cPais, email, xProd, NCM, CFOP, uCom, qCom, vProd, vUnTrib )
VALUES(
'$chNFe', '$dhEmi', '$natOp', '$CNPJ', '$xNomeemit', '$xBairroemit', '$xMunemit', '$UFemit', '$foneemit', '$cPaisemit', '$CPFdest', '$CNPJdest', '$xNome', '$xLgr', '$nro', '$xBairro', '$xMun', '$UF', '$CEP', '$cPais', '$email', '$xProd', '$NCM', '$CFOP', '$uCom', '$qCom', '$vProd', '$vUnTrib'
)";
$res = mysqli_query($conn, $sql) or die("<b>Erro (0):</b><br> $sql <br> <b>Mensagem tecnica:</b> <br>" .mysqli_error());
if(mysqli_affected_rows() != -1){
$x++;
}
echo "<br>$x registros importados com sucesso!<br>";
}
else
{
echo "<br>Jรก encontremos dados com estas notas!<br>";
}
}