Dicas de Site: Previsão de Tempo em XML

O CPTEC/INPE permite a consulta de Previsão de Tempo, IUV e Ondas e disponibiliza o resultado em XML.

Os dados em XML do CPTEC/INPE são gerados dinamicamente, baseados no código de identificação da localidade e, em alguns casos, na especificação da localização geográfica (latitude e longitude) da localidade.

Para mais informações acesse http://servicos.cptec.inpe.br/XML/.

<?php 
$obj = simplexml_load_file("http://servicos.cptec.inpe.br/XML/listaCidades?city=sao paulo");
 
foreach($obj->cidade as $cidades){ 
    $cidade = $cidades->nome;
    $uf     = $cidades->uf;
    $id     = $cidades->id;
    echo $cidade . " - " . $uf . " - " . $id . "<br>";
    // Resultado:
    // São Paulo - SP - 244
    // São Paulo das Missões - RS - 5019
    // São Paulo de Olivença - AM - 5020
    // São Paulo do Potengi - RN - 5021     
}
?>

2 comentários em “Dicas de Site: Previsão de Tempo em XML

  • 6 de dezembro de 2017 em 19:57
    Permalink

    Olá, boa noite! Tudo bem?
    Como devo proceder para pegar apenas o ID correspondente a cidade de São Paulo sem precisar dizer a posição no array?
    Preciso fazer isso em Jquery…

    Um abraço e obrigado

    Resposta
    • 6 de dezembro de 2017 em 21:25
      Permalink

      Boa noite Diego. Tudo bem.

      O acesso direto a url não é permitido, tendo que usar uma função do PHP.

      Você pode fazer algo desse tipo:

      <script>
          $(function () {
              $.ajax({
                  type: "GET",
                  url: "cptec.php",
                  success: function (id) {
                      // atribui o(s) id(s) dentro da div#id_cidade
                      $("#id_cidade").html(id);
                  }
              });
          })
      </script>
      <div id="id_cidade"></div>
      <pre>
       
      <strong>cptec.php</strong>
      <pre lang="php">
      <?php
      $obj = simplexml_load_file("http://servicos.cptec.inpe.br/XML/listaCidades?city=sao%20paulo");
      foreach($obj->cidade as $cidades){
          $id     = $cidades->id;
          echo $id."<br>";
      }
      ?>

      Espero que te ajude. Abraço.

      Resposta

Deixe uma resposta

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *