Ir para conteúdo
Fórum Script Brasil
  • 0

Coletar dados de XML Externo


Alan Vieira

Pergunta

Olá!

Amigos, tenho uma duvida.

A empresa no qual trabalho tem contrato com uma outra empresa fora do pais que disponibiliza um arquivo XML com informações

de clima/tempo e etc para a região. Acontece que quero customizar as imagens que são providas desta fonte. O xml se dispoe

da seguinte forma :

<xml>

<item name="são paulo">

<day1st>Tuesday</day1st>

<day2nd>Wednesday</day2nd>

<day3rd>Thursday</day3rd>

<day4th>Friday</day4th>

<day5th>Saturday</day5th>

<temp1st>27</temp1st>

<temp2nd>28</temp2nd>

<temp3rd>29</temp3rd>

<temp4th>24</temp4th>

<temp5th>28</temp5th>

<pic1st>http://icons-pe.wxug.com/i/c/a/mostlycloudy.gif</pic1st>

<pic2nd>http://icons-pe.wxug.com/i/c/a/mostlysunny.gif</pic2nd>

<pic3rd>http://icons-pe.wxug.com/i/c/a/partlycloudy.gif</pic3rd>

<pic4th>http://icons-pe.wxug.com/i/c/a/partlycloudy.gif</pic4th>

<pic5th>http://icons-pe.wxug.com/i/c/a/cloudy.gif</pic5th>

<con1st>Mostly Cloudy</con1st>

<con2nd>Scattered Clouds</con2nd><con3rd>Partly Cloudy</con3rd><con4th>Partly Cloudy</con4th><con5th>Overcast</con5th>

<location>são Paulo</location>

</item>

</xml>

O que quero fazer:

1) Coletar estes dados e grava-los em algum lugar (pode ser cookie, session ou até bd a gente faz negocio)

2) A partir destes dados fazer um select case para que SE o conteudo da tag pic1st for "X" substituir por "Y" (poderia

colocar um link de uma imagem no meu site ou hospedada em outro lugar)

3) Depois disso eu geraria um novo xml com os dados já atualizados e mandaria minha aplicação buscar desta nova fonte.

A duvida é :

- Esta empresa disponibiliza apenas o link do xml(ex:www.empresa.com/arquivo.xml) , até porque estes dados são constantemente

atualizados.

Como faço para obter estas informacoes e gravar em algum lugar? O resto consigo fazer sem problemas.

Será que podem ajudar este velho rapaz?

Link para o comentário
Compartilhar em outros sites

3 respostass a esta questão

Posts Recomendados

  • 0

mastigadinho

<%
'------------------------------------------------
Public Function BinaryToString(xBinary)
    Dim Binary
    Dim RS, LBinary
    If VarType(xBinary)=8 Then Binary = MultiByteToBinary(xBinary) Else Binary = xBinary
    Const adLongVarChar = 201
    Set RS = CreateObject("ADODB.Recordset")
    LBinary = LenB(Binary)
    If LBinary>0 Then
        RS.Fields.Append "mBinary", adLongVarChar, LBinary
        RS.Open
        RS.AddNew
        RS("mBinary").AppendChunk Binary 
        RS.Update
        BinaryToString = RS("mBinary")
    Else
        BinaryToString = ""
    End If
    Set RS = Nothing
End Function

Public Function MultiByteToBinary(MultiByte)
    Dim RS, LMultiByte, Binary
    Const adLongVarBinary = 205
    Set RS = CreateObject("ADODB.Recordset")
    LMultiByte = LenB(MultiByte)
    If LMultiByte>0 Then
        RS.Fields.Append "mBinary", adLongVarBinary, LMultiByte
        RS.Open
        RS.AddNew
        RS("mBinary").AppendChunk MultiByte & ChrB(0)
        RS.Update
        Binary = RS("mBinary").GetChunk(LMultiByte)
    End If
    Set RS = Nothing
    MultiByteToBinary = Binary
End Function
'------------------------------------------------


'Declaração das variáveis
Dim objXmlHttp
Dim Url
Dim Conteudo

'Inicialização do objeto
Set objXmlHttp    = Server.CreateObject("MSXML2.XMLHTTP")
     
'Url do Site
Url = "http://rss.terra.com.br/0,,EI4795,00.xml"
                
'Resgatando os dados da URL via HTTP
objXMLHttp.Open "GET", Url, False
objXMLHttp.Send

'Utilizando a função "BinaryToString" não haverá mais problemas com acentos.
Conteudo = BinaryToString(objXmlHttp.ResponseBody)

Response.ContentType = "text/xml"
Response.Write Conteudo

'Destruição do objeto
Set objXmlHttp    = Server.CreateObject("MSXML2.XMLHTTP")
%>

Link para o comentário
Compartilhar em outros sites

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,3k
    • Posts
      652,3k
×
×
  • Criar Novo...