Ir para o conteúdo

Buscando E Salvando Xml De Outro Site.


Criado por PF Webmaster, Out 21 2010 14:37

Não há respostas para este tópico
  • Por favor, faça o login para responder

#1 PF Webmaster

PF Webmaster
  • PF Webmaster
  • Colaborador
  • 2 Revisões

Revisou 21 outubro 2010 - 14:37

*
REVISÃO POPULAR!

Hello Programmers,

Fiz esse pequeno código para ajudar um amigo que estava com problemas para consumir um XML do site do INPE, onde ele obtém a previsão do tempo de sua cidade.
O código é simples, de fácil entendimento, tem 4 parâmetros e todos são obrigatórios.


<%
'obs: essa rotina pode ser facilmente adapatada para baixar qualquer arquivo, e não apenas um XML'
'escolha a pasta levando em consideração a pasta onde este script ficará'

sub armazenarXML(url, encode, pasta, nome)

	'variável para armazenar o cabeçalho do nosso XML'
	dim content, Stream

	content = "<?xml version='1.0' encoding='" & encode & "' ?>"

	'Cria o objeto XML para fazermos o request da página, usaremos o método GET'
	Set Xml = Server.CreateObject("MSXML2.ServerXMLHTTP.6.0") ' para o XMLHHTP 6'
	'Set Xml = Server.CreateObject("MSXML2.XMLHTTP.4.0") para o XMLHTTP 4'
	'Set Xml = Server.CreateObject("MSXML2.XMLHTTP.3.0") para o XMLHTTP 3'
	'Set Xml = Server.CreateObject("MSXML2.ServerXMLHTTP") para o XMLHTTP 2'
	'Set Xml = Server.CreateObject("Microsoft.XMLHTTP") para uma versão não especificada, não recomendado!'

	'Método , url da página com o arquivo'
	Xml.open "GET", url, false

	'Baixa o arquivo'
	Xml.send

	'Cria o Stream para salvar o arquivo'
	set Stream = Server.CreateObject("ADODB.Stream")

	'Abre a Stream e seta o tipo para texto'
	Stream.Type = adTypeText
	Stream.Open

	content = content & Xml.responseText

	'Retorna o conteudo do arquivo e faz o stream dele'
	Stream.WriteText (content)

	'Agora é so salvar o arquivo'
	Stream.SaveToFile Server.MapPath("\" & pasta & "\" & nome & ".xml"), adSaveCreateOverWrite 'sobrescreve o XML, pra não precisar ficar verificando com FSO'

	if(Err.number <> 0) then
		Response.write(Err.number & "<br />")
		Response.write(Err.description & "<br />")
		Response.write(Err.file & "<br />")
		Response.write(Err.line & "<br />")
	else
		Response.write("Arquivo XML salvo com sucesso.")
	end if

end sub

'chamando a rotina, e passando os devidos parâmetros'
armazenarXML "http://servicos.cptec.inpe.br/XML/cidade/4305/previsao.xml", "utf-8", "search", "previsao-tempo"

%>






1 usuário(s) está(ão) lendo este código

1 membro(s), 0 visitante(s) e 0 membros anônimo(s)