Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
Salve amigos,
Preciso gravar todos os produtos da xml de uma NFe, porém o único problema que tenho, é que só consigo ler o primeiro nó, perdendo todos os outros registros de produtos.
Detalhe: Todas as tags do produto são iguais:
<nfeProc xmlns="http://www.portalfiscal.inf.br/nfe" versao="2.00">
<NFe xmlns="http://www.portalfiscal.inf.br/nfe">
<infNFe Id="NFe17140812364226000150550010000038021000189995" versao="2.00">
<ide>...</ide>
<emit>...</emit>
<dest>...</dest>
<det nItem="1">
<prod>
<cProd>01</cProd>
<cEAN/>
<xProd>BANANA NANICA</xProd>
<NCM>08039000</NCM>
<CFOP>6102</CFOP>
<uCom>KG</uCom>
<qCom>520.0000</qCom>
<vUnCom>1.7000</vUnCom>
<vProd>884.00</vProd>
<cEANTrib/>
<uTrib>KG</uTrib>
<qTrib>520.0000</qTrib>
<vUnTrib>1.7000</vUnTrib>
<indTot>1</indTot>
</prod>
<imposto>...</imposto>
</det>
<det nItem="2">...</det>
<det nItem="3">...</det>
<total>...</total>
<transp>...</transp>
<infAdic>...</infAdic>
</infNFe>
<Signature xmlns="http://www.w3.org/2000/09/xmldsig#">...</Signature>
</NFe>
<protNFe xmlns="http://www.portalfiscal.inf.br/nfe" versao="2.00">...</protNFe>
</nfeProc>
A tag "Pai" dos produtos é a tag "det".
Realizo a leitura da seguinte maneira:
<?php
function loadBasicXml($dir){
foreach (glob($dir.'*.xml') as $obj) {
ini_set('default_charset', 'UTF-8');
$xml = simplexml_load_file($obj);
$nfe = $xml->NFe->infNFe->ide->nNF;
$emissao = $xml->NFe->infNFe->ide->dEmi;
/*Código do Produto */
$cPord = $xml->NFe->infNFe->det->prod->cProd;
/*Nome do produto*/
$nProd = $xml->NFe->infNFe->det->prod->xProd;
/*Valor do produto*/
$vProd = $xml->NFe->infNFe->det->prod->vProd;
}
}
?>
Porém como disse, só consigo pegar a primeira tag, perdendo todos os outros registros.
Carregando comentários...