Сегодня 27 декабря, пятница ГлавнаяНовостиО проектеЛичный кабинетПомощьКонтакты Сделать стартовойКарта сайтаНаписать администрации
Поиск по сайту
 
Ваше мнение
Какой рейтинг вас больше интересует?
 
 
 
 
 
Проголосовало: 7278
Кнопка
BlogRider.ru - Каталог блогов Рунета
получить код
Блог Мэтра
Блог Мэтра
Голосов: 1
Адрес блога: http://myasp.ru/
Добавлен: 2010-09-14 11:39:16
 

Формируем RSS канал на ASP.NET

2012-03-21 16:47:00 (читать в оригинале)

     Однажды потребовалось на одном из сайтов сформировать RSS-канал, причем это дело было в командировке, где небыло возможности подключится к SQL серверу хостинга. Если бы была такая возможность, то это можно было бы сделать с помощью самого SQL сервера у которого есть неплохие фозможности форирования XML файлов. Но поскольку такой возможности небыло, то вот и родился такой небольшой aspx файл написаный на VB.NET в виде ASP.NET приложения. При обращении к сайту файл обращается к базе данных MS SQL где размещаются новости сайта и на основе этих данных на лету формирут необходимый XML файл в формате RSS-ленты.

<%@ Page Language="VB" AutoEventWireup="false" Debug="False" %>
<%@ Import Namespace="System.Data" %>
<%@ Import Namespace="System.Web.UI.Page" %>
<%@ Import Namespace="System.Data.SqlClient" %>

<script runat="server">
Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load

    Dim RSS As New StringBuilder
    Dim DBConn as SqlConnection
    Dim DBCommand As SqlDataAdapter
    Dim DSPageData as New DataSet
    DBConn = New SqlConnection(ConfigurationSettings.AppSettings("CnnSQL"))
    DBCommand = New SqlDataAdapter _
            ("Select TOP 10 id, data, text, foto From table ORDER BY data DESC", DBConn)

DBCommand.Fill(DSPageData, "Table")

        RSS.AppendLine("<?xml version=""1.0"" encoding=""windows-1251"" ?>")
        RSS.AppendLine("<rss version=""2.0"" xmlns:atom=""http://www.w3.org/2005/Atom"" >")
        RSS.AppendLine("<channel>")
        RSS.AppendLine("<title>Новости сайта </title>")
        RSS.AppendLine("<link></link>")
        RSS.AppendLine("<description>Новости сайта</description>")
        If DSPageData.Tables("Table").Rows.Count > 0 Then
            For i As Integer = 0 To DSPageData.Tables("Table").Rows.Count - 1
                RSS.AppendLine("<item>")

RSS.AppendLine("<title>" & _
                  DSPageData.Tables("Table").Rows(i).Item("id").ToString & "</title>")
                RSS.AppendLine("<link>http://site.ru/default.aspx?id=" & _
                  DSPageData.Tables("Table").Rows(i).Item("id").ToString & "</link>")
                RSS.AppendLine("<description>&lt;p&gt;&lt;img src=""http://site.ru/files/" & DSPageData.Tables("Table").Rows(i).Item("foto").ToString & """/&gt;&lt;/p&gt; " & _
                  DSPageData.Tables("Table").Rows(i).Item("text").ToString & _
                  "</description>")
                RSS.AppendLine("<pubDate>" & _
                  Format(CDate(DSPageData.Tables("Table").Rows(i).Item("data").ToString), "r") & "</pubDate>")

  RSS.AppendLine("</item>")
            Next
        End If
        RSS.AppendLine("</channel>")
        RSS.AppendLine("</rss>")
        Response.Write(RSS.ToString)
    End Sub
</script>


Тэги: asp.net

 


Самый-самый блог
Блогер ЖЖ все стерпит
ЖЖ все стерпит
по количеству голосов (152) в категории «Истории»


Загрузка...Загрузка...
BlogRider.ru не имеет отношения к публикуемым в записях блогов материалам. Все записи
взяты из открытых общедоступных источников и являются собственностью их авторов.