none
Obter valor de uma tag xml RRS feed

  • Pergunta

  • Pessoal,

    Estou tentando pegar uma valor de uma tag xml assim:

     

    Dim cStat As XmlNodeList
    cStat = xmldoc.SelectNodes("//retConsReciNFe/protNFe/infProt/cStat/text()")
    Dim vlcStat As String = cStat(0).InnerText.ToString

    <?xml version="1.0" encoding="UTF-8" ?> 
     <retConsReciNFe xmlns="http://www.portalfiscal.inf.br/nfe" versao="1.10">
      <tpAmb>2</tpAmb> 
      <verAplic>SP_NFE_PL_005d</verAplic> 
      <nRec>xxxxxxxxxxxxx</nRec> 
      <cStat>104</cStat> 
      <xMotivo>Lote processado</xMotivo> 
      <cUF>35</cUF> 
     <protNFe versao="1.10">
     <infProt>
      <tpAmb>2</tpAmb> 
      <verAplic>SP_NFE_PL_005d</verAplic> 
      <chNFe>xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx</chNFe> 
      <dhRecbto>2009-09-29T12:37:10</dhRecbto> 
      <digVal>6iQfcfQdoHd3YvE1y3fjA3I5I+I=</digVal> 
      <cStat>213</cStat> 
      <xMotivo>Rejeição: CNPJ-Base do Emitente difere do CNPJ-Base do Certificado Digital</xMotivo> 
      </infProt>
      </protNFe>
      </retConsReciNFe>

    Mas não retorna nada ? Oque esta errado ?

    Obrigado
    terça-feira, 29 de setembro de 2009 16:04

Respostas

  • Luiz,

    É necessário incluir a informação do namespace. Segue código abaixo:

    ' XML Document
    Dim xmlDoc As New XmlDocument()
    xmlDoc.Load("C:\Temp\teste.xml")

    ' Namespace
    Dim ns As New XmlNamespaceManager(xmlDoc.NameTable)
    ns.AddNamespace("nfe", "http://www.portalfiscal.inf.br/nfe")

    ' NodeList
    Dim xmlNodeList As XmlNodeList
    xmlNodeList = xmlDoc.SelectNodes("//nfe:retConsReciNFe/nfe:protNFe/nfe:infProt/nfe:cStat", ns)

    ' Mostra na tela
    Console.WriteLine(xmlNodeList(0).InnerText)


    Att.

    Ari C. Raimundo
    sábado, 3 de outubro de 2009 02:52