Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Gilberto Jr

Pegando dados dentro do XML

Recommended Posts

Boa tarde.

 

Mais uma vez estou aqui novamente. Seguinte estou enviando e pegando alguns dados dentro do xml.

 

Eu tenho que pegar a tagName CNPJ mas existe duas tag com o nome de cnjp.

 

Uma esta dentro dos dados do emitente e outra esta dentro do emitente. Eu preciso pegar a que esta dentro dos dados do emitente.

 

Abaixo segue como fica os dados dentro do xml de nota fiscal eletronica.

<dest><CNPJ>84837517000120</CNPJ><xNome>C. S. FRANCO REAL MODA PRAIA - ME</xNome><enderDest><xLgr>AV AMERICO BUAIZ</xLgr><nro>200</nro><xCpl>LOJAS 406 E 407</xCpl><xBairro>ENSEADA DO SUA</xBairro><cMun>3205309</cMun><xMun>VITORIA</xMun><UF>ES</UF><CEP>29050902</CEP><cPais>1058</cPais><xPais>BRASIL</xPais><fone>2733294037</fone></enderDest><IE>082140871</IE></dest>

Estou com muitas duvidas referente a arquivo xml mas estou sanando todas as minhas duvidas.

 

Att;

Compartilhar este post


Link para o post
Compartilhar em outros sites

vc pode pegar o valor de um nó especifico

 ' Retorno o valor específico de um Node de um XML
        Function pegaValorNode(xml, node)
                Dim objXml
                Set objXml = Server.CreateObject("MSXML2.DOMDocument")

                objXml.loadXML(xml)

                If (TypeName(objXml) = "DOMDocument") Then
                        If (objXml.GetElementsByTagName(node).length <> 0) Then
                                pegaValorNode = objXml.selectSingleNode("//" & node).text
                        Else
                                pegaValorNode = ""
                        End If
                Else
                        pegaValorNode = ""
                End If

                Set objXml = Nothing
        End Function

 




Utilizando a função:

 

'objSrvHTTP.responseText: retorno utilizando MSXML2.XMLHTTP.3.0
    xml = objSrvHTTP.responseText
'erro//codigo: nó a ser recuperado
    retorno_codigo_erro = pegaValorNode(xml,"erro//codigo")

Compartilhar este post


Link para o post
Compartilhar em outros sites

Iniciei um tópico com mais ou menos a mesma dúvida:

 

http://forum.imasters.com.br/topic/490927-ler-tags-de-um-arquivo-xml/

 

Você pode selecionar um nodo dentro de qualquer outro nodo desde que saiba os indexes na hora da seleção, por este comando:

 


ns.AddNamespace("nfe", "http://www.portalfiscal.inf.br/nfe") 
oXML.Load(arquivo) 
NodeRoot = oXML.SelectSingleNode("nfe:nfeProc/nfe:NFe/nfe:infNFe/nfe:ide", ns) 
Dim numeroNF As Integer = Convert.ToInt32(NodeRoot.ChildNodes(index).InnerText) 
Dim serieNF As String = NodeRoot.ChildNodes(index).InnerText

Compartilhar este post


Link para o post
Compartilhar em outros sites

posta elel ai

Compartilhar este post


Link para o post
Compartilhar em outros sites
            <%
			else
			dim buscaxml
			set buscaxml = conn.execute("select * from arquivo where id='"&request.QueryString("xml")&"'")
			arquivoxml = buscaxml("arquivo")
			set xml = Server.CreateObject("Microsoft.XMLHTTP")
			xml.open "GET", "endereçoXML" & cat, false
			xml.send
			 
			set objXML = xml.responseXML
			 
			set raiz = objXML.getElementsByTagName("nfeProc")
			set nfe = objXML.getElementsByTagName("nNF")
			set serie = objXML.getElementsByTagName("serie")
			set itens = objXML.getElementsByTagName("qTrib")
			set fornecedor = objXML.getElementsByTagName("xNome")
			set dtEmissao = objXML.getElementsByTagName("dEmi")
			set dtVencimento = objXML.getElementsByTagName("dVenc")
			set valor = objXML.getElementsByTagName("vOrig")
			set cnpj = objXML.getElementsByTagName("dest")
			set inscMun = objXML.getElementsByTagName("cMun")
			 
			for i = 0 to raiz.length-1
			notafiscal = nfe.item(i).text
			serienf = serie.item(i).text
			inscMun = inscMun.item(i).text
			cnpj = cnpj.item(i).text
			dataemissao = mask_data(dtEmissao.item(i).text)
			datavencimento = mask_data(dtVencimento.item(i).text)
			valor = valor.item(i).text
			next
			 
			cnpjloja = left(cnpj,14)
			
			total=0
			for a = 0 to itens.length-1
			   total = cLng(replace(itens.item(a).text,".",",")) + total
			next
			
			dim buscafor, idfor

			set buscafor = conn.execute("select * from fornecedor where inscmunicipa='"&inscMun&"'")
			idfor = buscafor("Id")		 
			 
			set xml = nothing
			set objXML = nothing
			
			%>

Esta o código ai. Se ajudar alguém.

 

Att;

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.