29 September 2011 - 04:24
Aşağıda yazılan kodlar Ankara içindir.
<%
xmlFile = "/includes/namazVakitleri.xml"
isXmlFileExist = False
isXmlFileExist = fsCommon.FileExists(Server.MapPath(xmlFile))
If isXmlFileExist Then
If IsXmlFileUTD Then
Call GetTodaysPrayTimes
Else
Call CreateXmlFile
Call GetTodaysPrayTimes
End If
Else
Call CreateXmlFile
Call GetTodaysPrayTimes
End If
Function IsXmlFileUTD
IsXmlFileUTD = False
'is xml file up-to-date, içerisinde bugünün tarihi war mı?
Set xmlDocument = Server.CreateObject("Microsoft.XMLDOM")
xmlDocument.async = False
xmlDocument.load(Server.MapPath(xmlFile))
xPath = "//vakit"
Set vakitler = xmlDocument.selectNodes(xPath)
For Each vakit In vakitler
vakitTarih = vakit.selectSingleNode("tarih").text
If CDate(vakitTarih) = Date() Then
IsXmlFileUTD = True
End If
Next
End Function
Function GetTodaysPrayTimes
Set xmlDocument = Server.CreateObject("Microsoft.XMLDOM")
xmlDocument.async = False
xmlDocument.load(Server.MapPath(xmlFile))
xPath = "//vakit"
Set vakitler = xmlDocument.selectNodes(xPath)
For Each vakit In vakitler
vakitTarih = vakit.selectSingleNode("tarih").text
If CDate(vakitTarih) = Date() Then
imsak = vakit.selectSingleNode("imsak").text
gunes = vakit.selectSingleNode("gunes").text
ogle = vakit.selectSingleNode("ogle").text
ikindi = vakit.selectSingleNode("ikindi").text
aksam = vakit.selectSingleNode("aksam").text
yatsi = vakit.selectSingleNode("yatsi").text
Exit For
End If
Next
%>
<p>İmsak : <% = imsak %><br />Güneş : <% = gunes %><br />Öğle : <% = ogle %><br />İkindi : <% = ikindi %><br />Akşam : <% = aksam %><br />Yatsı : <% = yatsi %></p>
<%
End Function
Function CreateXmlFile
'Diyanetin sayfasına bağlanıp Vakitleri bir array içerisinde toplayıp xml içerisine yazıyoruz
Set xmlObj = CreateObject("MSXML2.ServerXMLHTTP")
xmlObj.Open "POST", "http://www.diyanet.gov.tr/turkish/namazvakti/vakithes_namazsonuc.asp", False
'xmlObj.Open "POST", "http://www.diyanet.gov.tr/turkish/namazvakti/vakithes_namazsonuc.asp", False
xmlObj.setRequestHeader "Content-type", "text/html; application/x-www-form-urlencoded"
xmlObj.Send "sehirler=ANKARA&R1=AYLIK&buton=Hesapla&ulk=TURKIYE"
strDiyanet = xmlObj.responseText
Set xmlObj = Nothing
searchStrStart = "<td width=""51"" style=""border-style:solid; border-width:1px; padding-top: 0; font-weight:bold"" align=""center"">"
searchStrEnd = " </td>"
startPosition = 1
vakitlerArray = null
Do Until InStr(startPosition, strDiyanet, searchStrStart, 1) = 0
positionOfSearchStrStart = InStr(startPosition, strDiyanet, searchStrStart, 1)
For i = 0 To 20
result = Mid(strDiyanet, positionOfSearchStrStart + Len(searchStrStart) + i, Len(searchStrEnd))
If result = searchStrEnd Then
positionOfSearchStrEnd = positionOfSearchStrStart + Len(searchStrStart) + i
Exit For
End If
Next
vakitlerArray = vakitlerArray & Mid(strDiyanet, positionOfSearchStrStart + Len(searchStrStart), positionOfSearchStrEnd - positionOfSearchStrStart - Len(searchStrStart)) & "|"
startPosition = positionOfSearchStrEnd + Len(searchStrEnd)
Loop
vakitlerArray = Left(vakitlerArray, Len(vakitlerArray) - 1)
vakitlerArray = Replace(vakitlerArray, " ", ":", 1, -1, 1)
'Array içerisindeki verileri Xml dosyası içerisine yazıyoruz
aryVakitler = Split(vakitlerArray, "|")
Set objXML = Server.CreateObject("Microsoft.XMLDOM")
Set objXML.documentElement = objXML.createElement("namazvakti")
i = 0
Do While i + 6 <= UBound(aryVakitler)
Set objNews = objXML.createElement("vakit")
objNews.appendChild objXML.createElement("tarih")
objNews.appendChild objXML.createElement("imsak")
objNews.appendChild objXML.createElement("gunes")
objNews.appendChild objXML.createElement("ogle")
objNews.appendChild objXML.createElement("ikindi")
objNews.appendChild objXML.createElement("aksam")
objNews.appendChild objXML.createElement("yatsi")
objNews.childNodes(0).text = aryVakitler(i)
objNews.childNodes(1).text = aryVakitler(i + 1)
objNews.childNodes(2).text = aryVakitler(i + 2)
objNews.childNodes(3).text = aryVakitler(i + 3)
objNews.childNodes(4).text = aryVakitler(i + 4)
objNews.childNodes(5).text = aryVakitler(i + 5)
objNews.childNodes(6).text = aryVakitler(i + 6)
objXML.documentElement.appendChild objNews.cloneNode(true)
i = i + 8
Loop
objXML.Save Server.MapPath(xmlFile)
End Function
%>
Paylaş