Ler XML da NFE

1,144 views
Skip to first unread message

Darkzad

unread,
May 27, 2009, 3:54:21 PM5/27/09
to list...@googlegroups.com
Olá pessoal,

Estou tentando ler o arquivo XML que é gerado pelo sistema de nota
fiscal eletrônica para pegar os dados do cliente.
Não estou conseguindo fazer isso.
A parte que o meu aplicativo está fazendo para ler o arquivo é essa:

$xml = simplexml_load_file($_FILES['photoupload']['tmp_name']);
foreach($xml->dest as $dest) {
$cnpj = $dest->CNPJ;
}

Parte do arquivo xml:

Quero ler o nod que está no final o <dest>

- <#> <nfeProc versao="*1.10*" xmlns="*http://www.portalfiscal.inf.br/nfe*">
- <#> <NFe xmlns="*http://www.portalfiscal.inf.br/nfe*">
- <#> <infNFe xmlns:xsi="*http://www.w3.org/2001/XMLSchema-instance*"
Id="*NFe31090420278271000110550000000001700011460406*" versao="*1.10*">
- <#> <ide>
<cUF>31</cUF>
<cNF>001146</cNF>
<natOp>Venda de Producao (Agua </natOp>
<indPag>0</indPag>
<mod>55</mod>
<serie>0</serie>
<nNF>170</nNF>
<dEmi>2009-04-09</dEmi>
<dSaiEnt>2009-04-09</dSaiEnt>
<tpNF>1</tpNF>
<cMunFG>3127701</cMunFG>
<tpImp>1</tpImp>
<tpEmis>1</tpEmis>
<cDV>6</cDV>
<tpAmb>1</tpAmb>
<finNFe>1</finNFe>
<procEmi>3</procEmi>
<verProc>1.3.2</verProc>
</ide>
- <#> <emit>
<CNPJ>20278271000110</CNPJ>
<xNome>TESTE TSTE LTDA</xNome>
<xFant>TTESTE</xFant>
- <#> <enderEmit>
<xLgr>RUA DIS</xLgr>
<nro>25</nro>
<xBairro> INDUSTRIAL</xBairro>
<cMun>3127701</cMun>
<xMun>TESTE ares</xMun>
<UF>MG</UF>
<CEP>35045464</CEP>
<cPais>1058</cPais>
<xPais>BRASIL</xPais>
<fone>3321012400</fone>
</enderEmit>
<IE>2772953330056</IE>
</emit>
- <#> <dest>
<CNPJ>05985699000100</CNPJ>
<xNome>cliente test etat</xNome>
- <#> <enderDest>
<xLgr>RUA MESSIAS </xLgr>
<nro>15</nro>
<xBairro>NOSSA SRA. </xBairro>
<cMun>3205200</cMun>
<xMun>Vila Ouro</xMun>
<UF>MG</UF>
<CEP>293514080</CEP>
<cPais>1058</cPais>
<xPais>BRASIL</xPais>
<fone>2732895600</fone>
</enderDest>
<IE>082240337</IE>
</dest>

Me ajudem por favor


__________________________________________________
Faça ligações para outros computadores com o novo Yahoo! Messenger
http://br.beta.messenger.yahoo.com/

TarsisLima

unread,
May 30, 2009, 12:19:49 PM5/30/09
to LISTA PHP
Ola Darkzad , creio que os <#> foram na hora de postar , caso
contrario a extrutura da NFE estaria errada,

bem em vez de dar o foreach voce pode chamar o valor direto do nó

$xml = simplexml_load_file('seu_arquivo.xml');
$nome = $xml->infNFe->dest->xNome;
$cnpj = $xml->infNFe->dest->CNPJ;

onde cada item depois do -> é o nó que vc deseja ler

use foreach em casos em q existam duas ou mais ocorrencias de um no
exemplo

<grupo>
<nome>grupo 1 </grupo>
<membros>500</membros>
</grupo>

<grupo>
<nome>grupo 2 </grupo>
<membros>125</membros>
</grupo>

como existem duas ocorrencias de <grupo> vc faria

foreach($xml->grupo as $grupo) {
echo $grupo->nome ;
echo $grupo->membros;
}

espero ter ajudado, forte abraço
Reply all
Reply to author
Forward
0 new messages