|
ASP.net (199)
ASP 3.0 (111)
PHP (30)
HTML (66)
SQL (89)
CSS (46)
XML (7)
JavaScript (78)
Diverse kode (13)
Programmering (22)
System og drift (15)
Trafikk og inntekt (11)
Guider og tips (22)
Nyttig lesestoff (23)
Web forum (604)
Link galleri (565)
ASP.NET kurs(5)
CSS kurs (2)
JQuery kurs (2)
Øk trafikken (8)
Facebook App. (4)
Microsoft CEO (6)
Server & web
Internett & epost
Systemverktøy
Sikkerhet
Fildeling
Lyd & media
Diverse software
Domenesalg
Metagenerator
Websikre farger
WebMail
Bli medlem!
Siste innlegg
Gjestebok
Tips en venn
Kontakt oss
Forsiden
|
|
Slik lager du en RSS feed i ASP.NET 2.0 Av: Øyvind A. Isaksen
Denne artikkelen viser hvordan du i ASP.NET 2.0 C# benytter XmlTextWriter objektet for å lage en RSS feed til din webside. Vi viser hvordan du sørger for at RSS Feed'en blir cache't for å minimere database trafikk, og hvordan du bygger den opp dynamisk ved å hente ut data fra din SQL database.
Ønsket resultat
Opprett en fil i webprosjektet ditt med navnet "RSSDemo.aspx". Denne fila vil ha en code front kode (RSSDemo.aspx) og en code behind kode (RSSDemo.aspx.cs).
Vi tar utgangspunkt i at du allerede har en database med informasjon du ønsker å vise i din RSS Feed, en stored procedure som henter ut data og en databasekobling i web.config. I dette eksempelet består databasen av en tabell med feltene "id", "title", "description" og "date". Vår Stored Procedure har navnet "spNyheter" databasekoblingen i web.config har vi kalt "ConnectionString".
Kode i Code front, RSSDemo.aspx
<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="RSSDemo.aspx.cs" Inherits="RSSDemo" %>
<%@ OutputCache Duration="120" %>
Kode i Code behind, RSSDemo.aspx.cs
using System.Data.SqlClient;
using System.Text;
using System.Xml;
namespace WebRessurs
{
public partial class RSSdemo : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
Response.Clear();
Response.ContentType = "text/xml";
XmlTextWriter rssFeed = new XmlTextWriter(Response.OutputStream, Encoding.UTF8);
rssFeed.WriteStartDocument();
// rss tag
rssFeed.WriteStartElement("rss");
rssFeed.WriteAttributeString("version", "2.0");
// channel tag med RSS feed detaljer
rssFeed.WriteStartElement("channel");
rssFeed.WriteElementString("title", "WebRessurs RSS");
rssFeed.WriteElementString("link", "http://www.webressurs.no");
rssFeed.WriteElementString("description", "Siste saker fra WebRessurs.no");
rssFeed.WriteElementString("copyright", "Copyright 2003 - 2008 WebRessurs.no. All rights reserved.");
// Objekter for å koble til SQL database
SqlConnection SqlCon;
SqlCommand SqlCom;
SqlDataReader SqlDR;
// connection string
SqlCon = new SqlConnection(ConfigurationManager.ConnectionStrings["ConnectionString"].ToString());
// stored procedure eller SQL command
SqlCom = new SqlCommand("spNyheter", SqlCon);
SqlCom.CommandType = CommandType.StoredProcedure;
if (SqlCon.State == ConnectionState.Closed)
{
SqlCon.Open();
}
SqlDR = SqlCom.ExecuteReader();
// Lopper gjennom innholdet fra databasen og legger det inn i RSS feed'en
while (SqlDR.Read())
{
rssFeed.WriteStartElement("item");
rssFeed.WriteElementString("title", SqlDR["Title"].ToString());
rssFeed.WriteElementString("description", SqlDR["Description"].ToString());
rssFeed.WriteElementString("link", "http://www.webressurs.no/main/kode/detalj.asp?kodeid=" + SqlDR["ID"]);
rssFeed.WriteElementString("pubDate", SqlDR["Date"].ToString());
rssFeed.WriteEndElement();
}
SqlDR.Close();
SqlCon.Close();
// Lukker alle tagger
rssFeed.WriteEndElement();
rssFeed.WriteEndElement();
rssFeed.WriteEndDocument();
rssFeed.Flush();
rssFeed.Close();
}
}
}
|
|