Ir para conteúdo

POWERED BY:

Arquivado

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

Quati Maldito

[Resolvido] Pegar dados de outro server com XMLHTTP

Recommended Posts

Olá!

 

Pessoal, tenho uma página ASP em um servidor que gera o seguinte código:

 

<CorreiosXml>
      <Endereco>Rua tal de tal</Endereco>
      <Bairro>Bairro tal </Bairro>
      <Cidade>São Paulo</Cidade>
      <Estado>SP</Estado>
</CorreiosXml>

De outro servidor, preciso recuperar estes dados e jogá-los suas respectivas variáveis.

 

Para recuperar o mesmo faço o seguinte:

pagina = "http://url.com.br/coisas.asp?cep=03876200"
Set objXmlHttp = Server.CreateObject("MSXML2.XMLHTTP")
objXmlHttp.Open "GET",pagina, False
objXmlHttp.setRequestHeader "ContentType","text/xml"
objXmlHttp.Send(null)

Até aqui, beleza, dando um response.write objXmlHttp.ResponseText e exibindo o código fonte, o código aparece extamente como mostrado no inicio.

 

O que preciso saber é como pegar estes dados e colocá-los em suas variáveis.

 

Obrigado a todos.

Compartilhar este post


Link para o post
Compartilhar em outros sites

você pode até usar o MID e INSTR para pegar apenas a parte do code k deseja, existem exemplos no forum sobre isso, dê uma pesqusiada, k irá encontrar

Compartilhar este post


Link para o post
Compartilhar em outros sites

Olá! Obrigado pela ajuda xanburzum!

 

Mas quero fazer com Microsoft.XMLDOM, assim posso pegar os nós do XML.

 

Só q ainda num consegui e num manjo nada desses lances...

 

Se mais alguém poder ajudar eu agradeço muito.

 

Aguinaldo

Compartilhar este post


Link para o post
Compartilhar em outros sites

apos você recuperar o conteudo atraves do XMLHTTP,você usa as funcoes MID e INSTR para poder recuperar apenas o nó ou tag, entendeu

Compartilhar este post


Link para o post
Compartilhar em outros sites

Valeu xanburzum

 

Eu estava tentando fazer da seguinte forma:

 


...

Dim strXML 'var q recebe o XMLHTTP criado anteriormente
strXML = objXmlHttp.responseXML
Set objDom.loadXML(strXML)
        Set dados = ObjDom.getElementsByTagName("CorreiosXml")
         dado1 =  dados.childNodes(0)
         dado2 =  dados.childNodes(1)
         dado3 =  dados.childNodes(2)
         dado4 =  dados.childNodes(3)
        Set dados = nothing
Set objDom = nothing

Mais ou menos isso ai, pq já apaguei esse código e refiz de cabeça agora..

 

Mas da forme q você indicou ficou mais simples, e consegui deixar mais simples ainda:

 

Na página do outro servidor, ao invés de criar a estrutura XML, concatenei com "|", e para pegar os dados um split

 


pagina = "http://endereco.com.br/pagina.asp?param=03876200"
Set objXmlHttp = Server.CreateObject("MSXML2.XMLHTTP")
objXmlHttp.Open "GET",pagina, False
objXmlHttp.setRequestHeader "ContentType","text/xml"
objXmlHttp.Send(null)
retorno = objXmlHttp.ResponseText
Set objXMLHttp = Nothing

Dim ArrayDadosEndereco

ArrayDadosEndereco = Split(cstr(retorno),"|")
        endereco      = ArrayDadosEndereco(0)
        bairro        = ArrayDadosEndereco(1)
        cidade        = ArrayDadosEndereco(2)
        estado        = ArrayDadosEndereco(3)

Valeu cara.

Compartilhar este post


Link para o post
Compartilhar em outros sites

beleza...

parabéns

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.