PHP olarak xml den hava durumu alabilmek için araştırma yaparken aşağıdaki servise denk geldim. Servis tamamne ücretsiz ve kodları düzenleyerek yazarlanabiliyoruz.
<?php
//####### Owebtools Örnek PHP XML Okuyucu #######
//############# www.owebtools.com ###############
//Sehirler : ADANA,ADIYAMAN,AFYONKARAHISAR,AGRI,AKSARAY,AMASYA,ANKARA,ANTALYA,ARDAHAN,ARTVIN,AYDIN,BALIKESIR,BARTIN,BATMAN,BAYBURT,BILECIK,BINGOL,BITLIS,BOLU,BURDUR,BURSA,CANAKKALE,CANKIRI,CORUM,DENIZLI,DIYARBAKIR,DUZCE,EDIRNE,ELAZIG,ERZINCAN,ERZURUM,ESKISEHIR,GAZIANTEP,GIRESUN,GUMUSHANE,HAKKARI,HATAY,IGDIR,ISPARTA,ISTANBUL,IZMIR,KAHRAMANMARAS,KARABUK,KARAMAN,KARS,KASTAMONU,KAYSERI,KIRIKKALE,KIRKLARELI,KIRSEHIR,KILIS,KOCAELI,KONYA,KUTAHYA,MALATYA,MANISA,MARDIN,MERSIN,MUGLA,MUS,NEVSEHIR,NIGDE,ORDU,OSMANIYE,RIZE,SAKARYA,SAMSUN,SIIRT,SINOP,SIVAS,SANLIURFA,SIRNAK,TEKIRDAG,TOKAT,TRABZON,TUNCELI,USAK,VAN,YALOVA,YOZGAT,ZONGULDAK
$sehir="ANKARA,ISTANBUL"; //Bu bölüme hava durumunu almak istediğiniz şehri yazınız. Birden fazla şehir için kodları virgülle(,) ayırınız.
$doc = new DOMDocument
();
$doc->load( "http://www.owebtools.com/xmlhavadurumu.php?sehir=$sehir" );
/*
if instr(objXML.Text,"HATA:") then
response.Write(objXML.Text)
response.End()
end if
*/
if (strpos($doc->saveXML(), "HATA:")){
print ($doc->saveXML());
exit();
}
$sehirler = $doc->getElementsByTagName( "havadurumu" );
foreach( $sehirler as $tmpsehirler )
{
$tmpSehir1 = $tmpsehirler->getElementsByTagName( "Sehir" );
$tmpSehir = $tmpSehir1->item(0)->nodeValue;
$tmpHava1 = $tmpsehirler->getElementsByTagName( "Hava" );
$tmpHava = $tmpHava1->item(0)->nodeValue;
$tmpSicaklik1 = $tmpsehirler->getElementsByTagName( "Sicaklik" );
$tmpSicaklik= $tmpSicaklik1->item(0)->nodeValue;
$tmpNem1 = $tmpsehirler->getElementsByTagName( "Nem" );
$tmpNem= $tmpNem1->item(0)->nodeValue;
$tmpBasinc1 = $tmpsehirler->getElementsByTagName( "Basinc" );
$tmpBasinc= $tmpBasinc1->item(0)->nodeValue;
$tmpGorus1 = $tmpsehirler->getElementsByTagName( "Gorus" );
$tmpGorus= $tmpGorus1->item(0)->nodeValue;
$tmpRuzgarYon1 = $tmpsehirler->getElementsByTagName( "RuzgarYon" );
$tmpRuzgarYon = $tmpRuzgarYon1->item(0)->nodeValue;
$tmpRuzgarHiz1 = $tmpsehirler->getElementsByTagName( "RuzgarHiz" );
$tmpRuzgarHiz = $tmpRuzgarHiz1->item(0)->nodeValue;
$tmpZaman1 = $tmpsehirler->getElementsByTagName( "Zaman" );
$tmpZaman = $tmpZaman1->item(0)->nodeValue;
//######################################################################
// Bu kod bloğunu çoğaltarak birden fazla hava durumu bilgisi alabilirsiniz.
if ($tmpSehir=="ANKARA") // Bu satırda şehir kodunu değiştirerek diğer şehirleri alabilirsiniz.
{
$HD1Sehir = $tmpSehir;//Şehir
$HD1Hava = $tmpHava;//Hava Durumu
$HD1Sicaklik= $tmpSicaklik;//Sıcaklık
$HD1Nem= $tmpNem;//Nem
$HD1Basinc= $tmpBasinc;//Basınç
$HD1Gorus= $tmpGorus;//Görüş
$HD1RuzgarYon = $tmpRuzgarYon;//Rüzgar Yön
$HD1RuzgarHiz = $tmpRuzgarHiz;//Rüzgar Hız
$HD1Zaman = $tmpZaman;//Son Güncelleme Zamanı
}
//######################################################################
}
echo "Owebtools Örnek PHP XML Havadurumu Okuyucu <br>";
echo "Şehir = ".$HD1Sehir."<br>";
echo "Hava = ".$HD1Hava."<br>";
echo "Sıcaklık = ".$HD1Sicaklik."<br>";
echo "Nem = ".$HD1Nem."<br>";
echo "Basınç = ".$HD1Basinc."<br>";
echo "Görüş = ".$HD1Gorus."<br>";
echo "Rüzgar Yön= ".$HD1RuzgarYon."<br>";
echo "Rüzgar Hız = ".$HD1RuzgarHiz."<br>";
echo "Son Güncelleme = ".$HD1Zaman."<br>";
?>
Cevabınız için
Cevabınız için teşekkürler..
Aynen dediğiniz gibi yazdım..Hatta sitenizden hazır php örneklerini de kullandım denemek için ama maalesef olmadı..Ancak birşey dikkatimi birşey çekti.
Girdi seçeneklerinde no filter seçeneği yok..Bununla bir ilgisi olabilir mi bilmiyorum?
No filter değilde drupal için
No filter değilde drupal için php girdi biçimini seçerseniz çalışacaktır.
Maalesef çalıştıramadım..Blok
Maalesef çalıştıramadım..Blok içerisine yeni bir blok ekledm..
Girdi biçimini php yaptım..
Kodları yapıştırdım. Bloklardan sağ sütünda göster dedim. Ancak yazdığım kodları birer text metin olarak ekrana getirdi..
Birşey mi atlıyorum acaba?
<?php ve ?> kod başlangıç
<?php ve ?> kod başlangıç bitişlerini eklediğinizden emin olunuz.
Yeni yorum veya soru gönder