Ir para conteúdo

Arquivado

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

Lucianorw

Ler retorno de um XML (vba)

Recommended Posts

Boa tarde!!!

Como faço um loop para ler um XML, na verdade, estou tendo dificuldades em fazer o loop dentro de um "pai" (acho que é assim que fala).

Veja o que fiz até o momento.

Grato

Luciano

Dim lCounter, i as integer
	For lCounter = 0 To oResposta.context.childNodes.length - 1
		If oResposta.context.childNodes.Item(lCounter).baseName = "Pendencias" Then
			txt = "PENDENCIAS..........:" & oResposta.context.childNodes.Item(lCounter).Text & vbCrLf & txt
			'/// preciso saber como implementar este loop dentro de PENDENCIAS.
[b]			For i = 0 To oResposta.context.childNodes.length - 1
				If oResposta.context.childNodes.Item(i).baseName = "Protestos" Then[/b]					v_protestos = "DATA................:" & oResposta.context.childNodes.Item(i).Text & vbCrLf & v_protestos
					v_protestos = "NUMERO CARTORIO.....:" & oResposta.context.childNodes.Item(i).Text & vbCrLf & v_protestos
					v_protestos = "CODIGO NATUREZA.....:" & oResposta.context.childNodes.Item(i).Text & vbCrLf & v_protestos
					v_protestos = "DESCRICAO NATUREZA..:" & oResposta.context.childNodes.Item(i).Text & vbCrLf & v_protestos
					v_protestos = "VALOR...............:" & oResposta.context.childNodes.Item(i).Text & vbCrLf & v_protestos
					v_protestos = "LOCALIDADE..........:" & oResposta.context.childNodes.Item(i).Text & vbCrLf & v_protestos
					v_protestos = "ESTADO..............:" & oResposta.context.childNodes.Item(i).Text & vbCrLf & v_protestos
					v_protestos = "CIDADE..............:" & oResposta.context.childNodes.Item(i).Text & vbCrLf & v_protestos
					v_protestos = "SUB JUDICE..........:" & oResposta.context.childNodes.Item(i).Text & vbCrLf & v_protestos
					v_protestos = "DATA CARTA ANUENCIA.:" & oResposta.context.childNodes.Item(i).Text & vbCrLf & v_protestos
				End If
			Next
		End If
	Next

Compartilhar este post


Link para o post
Compartilhar em outros sites

Use o For Each... Next para percorrer coleções. O código vai ficar muito mais limpo e também é bem mais prático.

 

For Each pendência In oResposta.context.childNodes
	If pendência.baseName = "Pendencias" Then
		txt = "PENDENCIAS..........:" & pendência.Text & vbCrLf & txt
		For Each protesto In pendência.childNodes
			If protesto.baseName = "Protestos" Then
				'blá
			End If
		Next
	End If
Next

Agora, o que você quer exatamente com o código abaixo?

 

v_protestos = "DATA................:" & oResposta.context.childNodes.Item(i).Text & vbCrLf & v_protestos
v_protestos = "NUMERO CARTORIO.....:" & oResposta.context.childNodes.Item(i).Text & vbCrLf & v_protestos
v_protestos = "CODIGO NATUREZA.....:" & oResposta.context.childNodes.Item(i).Text & vbCrLf & v_protestos
v_protestos = "DESCRICAO NATUREZA..:" & oResposta.context.childNodes.Item(i).Text & vbCrLf & v_protestos
v_protestos = "VALOR...............:" & oResposta.context.childNodes.Item(i).Text & vbCrLf & v_protestos
v_protestos = "LOCALIDADE..........:" & oResposta.context.childNodes.Item(i).Text & vbCrLf & v_protestos
v_protestos = "ESTADO..............:" & oResposta.context.childNodes.Item(i).Text & vbCrLf & v_protestos
v_protestos = "CIDADE..............:" & oResposta.context.childNodes.Item(i).Text & vbCrLf & v_protestos
v_protestos = "SUB JUDICE..........:" & oResposta.context.childNodes.Item(i).Text & vbCrLf & v_protestos
v_protestos = "DATA CARTA ANUENCIA.:" & oResposta.context.childNodes.Item(i).Text & vbCrLf & v_protestos

Cada um dos dados é um nó?

 

Abraços,

 

Graymalkin

Compartilhar este post


Link para o post
Compartilhar em outros sites

Ola Graymalkin,

Grato pela atenção!!!

Vou mudar sim o esquema para o seu modelo, pois fica mais limpo.

O que preciso, é que quando chegar em PENDENCIAS, percorrer todos o "itens dentro de Pendencias".

Desculpe nao saber explicar, pois, é a primeira vez que trabalho com XML.

Outra coisa, após dar um invoke do exemplo, tem como salvar o resultado em XML?

http://www.consultacpf.com/webservices/tes...ConcentreSERASA

Voce só consegue acessar se for cadastrado com um CNPJ valido.

Grato

Luciano

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.