Array
(
)

Duvidas com Relacao a Leitura de NFE

Ancelmo
   - 23 nov 2012

Gostaria de saber sobre informações de Leitura de XML complexos como o da NFE... já fiz varias rotinas mas nao funcionou corretamente... principalmente quando chega na leitura do produto e seus impostos
Obrigado

Joel Rodrigues
   - 23 nov 2012

Qual é exatamente a dúvida? Você está usando a clase XDocument ou XmlDocument, certo?
Onde está exatamente a dificuldade?

Ancelmo
   - 23 nov 2012

Bom consegui ler dados simples como indentificacao, emitente, destinatário

#Código
private XmlDocument nfeDocumentXML = new XmlDocument();

private void btnLerXML_Click(object sender, EventArgs e)
{
nfeDocumentXML.Load(@"C:\CSharpProjects\NFE\NFEEstoque\XmlNfe\MULTILASER_INDUSTRIAL_S_A_-417613.XML");
XmlNodeList xNodeIdentificao = xmlDocument.GetElementsByTagName("ide");
for (int i = 0; i < xNodeIdentificao.Count; i++)
{
cmbFormaPagamento.SelectedIndex = Convert.ToInt32(xNodeIdentificao[i]["indPag"].InnerText); //Forma pagamento
txCodigoUFEmitente.Text = xNodeIdentificao[i]["cUF"].InnerText; //UF Emitente do documento
txNaturezaOpercao.Text = xNodeIdentificao[i]["natOp"].InnerText; //Natureza da Operacao
txSerie.Text = xNodeIdentificao[i]["serie"].InnerText; //Série
txNumeroNF.Text = xNodeIdentificao[i]["nNF"].InnerText; //Número da Nota Fiscal
dtpEmissao.Value = Convert.ToDateTime(xNodeIdentificao[i]["dEmi"].InnerText); //Data da Emissão
dtpDataEntradaSaida.Value = Convert.ToDateTime(xNodeIdentificao[i]["dSaiEnt"].InnerText); //Data da entrada
cmbTipoEmissao.SelectedIndex = Convert.ToInt32(xNodeIdentificao[i]["tpNF"].InnerText); //Entrada ou saída
}
}

Mas quando chega nos produtos é complicado devivo o imposto q esta em varios noveis

#Código
<det nItem="1">
<prod>
<cProd>BO063</cProd>
<cEAN>7898506450657</cEAN>
<xProd>ESTOJO CASE LOGIC UPT-2 PRETO P/CAMERA (05)</xProd>
<NCM>42021220</NCM>
<CFOP>6102</CFOP>
<uCom>PC</uCom>
<qCom>2.0000</qCom>
<vUnCom>5.79000000</vUnCom>
<vProd>11.58</vProd>
<cEANTrib>7898506450657</cEANTrib>
<uTrib>PC</uTrib>
<qTrib>2.0000</qTrib>
<vUnTrib>5.79000000</vUnTrib>
<indTot>1</indTot>
</prod>
<imposto>
<ICMS>
<ICMS00>
<orig>0</orig>
<CST>00</CST>
<modBC>3</modBC>
<vBC>11.58</vBC>
<pICMS>7.00</pICMS>
<vICMS>0.81</vICMS>
</ICMS00>
</ICMS>
<IPI>
<cEnq>999</cEnq>
<IPITrib>
<CST>50</CST>
<vBC>11.58</vBC>
<pIPI>10.00</pIPI>
<vIPI>1.16</vIPI>
</IPITrib>
</IPI>
<PIS>
<PISAliq>
<CST>01</CST>
<vBC>11.58</vBC>
<pPIS>1.65</pPIS>
<vPIS>0.19</vPIS>
</PISAliq>
</PIS>
<COFINS>
<COFINSAliq>
<CST>01</CST>
<vBC>11.58</vBC>
<pCOFINS>7.60</pCOFINS>
<vCOFINS>0.88</vCOFINS>
</COFINSAliq>
</COFINS>
</imposto>
</det>


dai nao conseguir fazer a leitura... os itens do elemento <prod> fica ok mais os impostos não... repetem todos