
RSS Nedir?
RSS (Rich Site Summary / Really Simple Syndication) sitelerin içeriklerini başlıklar şeklinde sunmak için kullanılan bir teknoloji. Temelinde bir XML dosyası yatar. Bu teknoloji ilk olarak 1999 yılında Netspace tarafından geliştirilmiştir.
Dosya Yapısı:
XML:
-
<rss version="2.0">
-
<channel>
-
<title>Site Basligi</title>
-
<link>http://www.siteninadresi.com</link>
-
<description>Siteyle ilgili kisa açiklama</description>
-
<language>RSS'in yayinlandigi dil kodu. Tükçe için tr</language>
-
<item>
-
<title>Ilk Içerigin Basligi</title>
-
<link>Ilk Içerigin Adresi</link>
-
<description>Ilk Içerigin Metni</description>
-
</item>
-
<item>
-
<title>Ikinci Içerigin Basligi</title>
-
<link>Ikinci Içerigin Adresi</link>
-
<description>Ikinci Içerigin Metni</description>
-
</item>
-
</channel>
-
</rss>
Sitenizden RSS Beslemesi Yayını Yapmak/Siteye RSS Eklemek
ASP:
-
<?xml version="1.0" encoding="windows-1254" ?>
-
<%
-
Response.Buffer = True
-
Response.ContentType = "text/xml" %>
-
-
Set adoCon = Server.CreateObject("ADODB.Connection")
-
adoCon.Open = "DRIVER={Microsoft Access Driver (*.mdb)}; DBQ=" & Server.MapPath("veritabani.mdb")
-
-
Function Temizle(strInput)
-
strInput = Replace(strInput,"&", "&", 1, -1, 1)
-
strInput = Replace(strInput,"'", "'", 1, -1, 1)
-
strInput = Replace(strInput,"""", "", 1, -1, 1)
-
strInput = Replace(strInput, ">", ">", 1, -1, 1)
-
strInput = Replace(strInput,"<","<", 1, -1, 1)
-
Temizle = strInput
-
End Function
-
%>
-
<rss version="2.0">
-
<channel>
-
<title>mydesign.gen.tr</title>
-
<link>http://www.mydesign.gen.tr</link>
-
<description>En Yeni İçerikler</description>
-
<language>tr</language>
-
<%
-
Set rs = Server.CreateObject("Adodb.Recordset")
-
SQL = "SELECT * FROM tablo ORDER BY tarih DESC"
-
rs.Open SQL, adoCon, 1, 3
-
-
i = 0
-
Do While not rs.EOF and i <10
-
-
response.write("<item>")
-
response.write("<title>" & Temizle(rs("baslik")) & "</title>")
-
response.write("<link>http://www.mydesign.gen.tr/"& rs("id") &".html</link>")
-
response.write("<description>" & Temizle(rs("ozet")) & "</description>")
-
response.write("</item>")
-
i = i + 1
-
-
rs.MoveNext
-
Loop
-
-
rs.Close
-
set rs = Nothing
-
%>
-
</channel>
-
</rss>
Aslında bu kodlar bir XML dosyası yerine XML çıktısı veren bir asp sayfasının kodlarını olusturur. Peki neden bir asp sayfası çıkarıyoruz? Bunun 2 nedeni var:
- Eger sitenize sonradan bir RSS desteği ekleyecek olursanız, aynı zamanda bir XML dosyasında yazmanız gerekeceğinden sitenizin tüm sistemini değiştirmeniz gerekecekti.
- Hem sitenizin veritabanı hem de bir XML dosyasına kaydetmeniz gerekeceğinden kayıt işlemi yavaşlayacakti.
Başka Sitelerin RSS Kaynaklarından Veri Çekmek
ASP:
-
<%@ Language="VBScript" %>
-
<?xml version="1.0" encoding="UTF-8"?>
-
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
-
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
-
<html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="EN">
-
<head>
-
<title>[ D 0 G M A ]</title>
-
</head>
-
<body>
-
<table cellpadding="0" cellspacing="0" border="0">
-
<tr>
-
<td>
-
<%
-
Dim objXML
-
Dim objItemList
-
Dim objItem
-
Dim I
-
-
Set objXML = Server.CreateObject("MSXML2.FreeThreadedDOMDocument")
-
objXML.async = False
-
-
objXML.setProperty "ServerHTTPRequest", True
-
objXML.Load("http://www.mydesign.gen.tr/rss.asp")
-
-
If objXML.parseError.errorCode <> 0 Then
-
Response.Write "<strong>Hata:</strong> " & objXML.parseError.reason &"<br>"
-
Response.Write "<strong>Satır:</strong> " & objXML.parseError.line &"<br>"
-
Response.Write "<strong>Açıklama:</strong> " & Server.HTMLEncode(objXML.parseError.srcText) & vbCrLf
-
End If
-
-
Set objItemList = objXML.getElementsByTagName("item")
-
Set objXML = Nothing
-
-
For Each objItem In objItemList
-
i = 1
-
Response.Write "<div style=""padding-top:2px""><a href=""" & objItem.childNodes(1).text & """ target=""_blank"" title=""" & objItem.childNodes(2).text & """>"
-
Response.Write "" & objItem.childNodes(0).text & "</a><br>" & vbCrLf
-
Next
-
-
Set objItemList = Nothing
-
%>
-
</td>
-
</tr>
-
</table>
-
</body>
-
</html>
Makale
http://www.mydesign.gen.tr/
Yararlanılan Kaynaklar
http://www.megatokyo.com/rss
http://www.tengiz.net/dokuman/web/rss_nasil.html


27 Temmuz 2008
ErhanK
Kategori:
Etiketler: