Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
Boa tarde, a todos.
Não consigo ler arquivo xml da NF-e, arquivo é gerando pelo sistema de nota.
o Problema esta em uma linha do arquivo xml. Segue o codigo abaixo!
<NFe xmlns="http-~~-//www.portalfiscal.inf.br/nfe">
Quando retiro essa tinha do codigo, consigo ler e traser todos as informações que desejo!
Segue uma parte do arquivo xml...
<?xml version="1.0" encoding="UTF-8"?>
<NFe xmlns="http-~~-//www.portalfiscal.inf.br/nfe">
<infNFe versao="1.10" Id="NFe35100859261388000399550010000166760012968800">
<ide>
<cUF>35</cUF>
<cNF>001296880</cNF>
<natOp>VENDA</natOp>
<indPag>1</indPag>
<mod>55</mod>
<serie>1</serie>
<nNF>16676</nNF>
<dEmi>2010-08-03</dEmi>
<dSaiEnt>2010-08-03</dSaiEnt>
<tpNF>1</tpNF>
<cMunFG>3529401</cMunFG>
<tpImp>1</tpImp>
<tpEmis>1</tpEmis>
<cDV>0</cDV>
<tpAmb>1</tpAmb>
<finNFe>1</finNFe>
<procEmi>0</procEmi>
<verProc>1.10</verProc>
</ide>
</infNFe>
</NFe>
Codigo que faço a leitura do xml
$xml = simplexml_load_file("NFee.xml");
//aqui em baixo eu coloco so valores do laço ITENS em arrays para que abaixo eu as use para mostrar no site
foreach( $xml as $item )
{
$data = explode(" ",$item->pubDate);
$time_stamp[$i] = strtotime("$data[1] $data[2] $data[3]");
$teste= ($titulo[$i] = utf8_decode($item->title));
$teste1= ($cnf[$i] = utf8_decode($item->cNF));
$cuf[$i] = utf8_decode($item->cUF);
$descricao[$i] = utf8_decode($item->description);
$mp3 = explode("name=", $item->guid);
$audio[$i] = utf8_decode($mp3[1]);
$i++;
echo $teste;
echo $teste1;
}
Resumo:
So consigo ler os dados caso tiro a 2 linha do xml..
arquivos simples de xml leio normal.
Ola.. Jaime ja tentei usar o foreach desta forma, mais não foi..
o prblema esta nessa linha (<NFe xmlns="http://www.portalfiscal.inf.br/nfe">)
caso eu tiro ela do arquivo xml me tras os dados normal.
Alguem poderia me ajudar. se tem como ler xml conforme o codigo.
Olá, gostaria de saber se alguém tem um modelo de XML para consultar status do servidor da sefaz no modelo atual...
Eu tentei várias vezes mas não da certo, mesmo validando com o xsl.
O xsd valida meu arquivo porém o servidor me diz que o xml está mal formatado.
Não sei oque fazer.
Grato pela atenção.
edsonantolini, tenta assim:
<?php
$xml = simplexml_load_file("NFee.xml") or die("Erro ao abrir arquivo.");
//total de registros
$total = count($xml->infNFe->ide);
for($i=0; $i <= $total-1; $i++){
echo $xml->infNFe->ide[$i]->cNF."
";
}
?>
valeu, te mais
>
o prblema esta nessa linha (<NFe xmlns="http://www.portalfiscal.inf.br/nfe">)
xmlns :seta: XML Namespace
Tudo o que você precisa fazer, é registrar o namespace usando SimpleXMLElement::registerXPathNamespace()
<?php
$nfe = new SimpleXMLElement( $xml );
$nfe->registerXPathNamespace( null , 'http://www.portalfiscal.inf.br/nfe' );
var_dump( $nfe->infNFe->ide->cUF );
var_dump( $nfe->infNFe->ide->cNF );
var_dump( $nfe->infNFe->ide->natOp );>
>
o prblema esta nessa linha (<NFe xmlns="http://www.portalfiscal.inf.br/nfe">)
xmlns :seta: XML Namespace
Tudo o que você precisa fazer, é registrar o namespace usando SimpleXMLElement::registerXPathNamespace()
<?php
$nfe = new SimpleXMLElement( $xml );
$nfe->registerXPathNamespace( null , 'http://www.portalfiscal.inf.br/nfe' );
var_dump( $nfe->infNFe->ide->cUF );
var_dump( $nfe->infNFe->ide->cNF );
var_dump( $nfe->infNFe->ide->natOp );
Olá João,
eu tbém estou com o mesmo problema e segui suas recomedações, mas deu este erro:
Fatal error: Uncaught exception 'Exception' with message 'String could not be parsed as XML' in C:\wamp\www\webservice\certificado.php:9 Stack trace: #0 C:\wamp\www\webservice\certificado.php(9): SimpleXMLElement->__construct('') #1 {main} thrown in C:\wamp\www\webservice\certificado.php on line 9
Meu cod:
<?php
$xml = simplexml_load_file("NFe32110353617676000519550020000045680000623445-nfe.xml");
//var_dump($xml);
//print_r($xml);
$nfe = new SimpleXMLElement($xml);
$nfe->registerXPathNamespace(null, 'http://www.portalfiscal.inf.br/nfe');
echo $xml->infNFe->ide->nNF;
?>
VLWWWWW!
Boa tarde a todos.
Por acaso alguém conseguiu ler o arquivo XML da NF-e em php?
Estou tentando ler o arquivo e alocar as informações com colunas, mas infelizmente não consegui até agora.
Agradeço a quem ajudar!
Att;
Luiz