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