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" %>
0 comentários:
Postar um comentário