Lập trình viên quốc tế ACCP
Lập trình viên Java
Kiểm thử phần mền itester
Lập trình viên PHP

Hướng dẫn cách tạo RSS trong ASP.NET

Chắc Các bạn đã từng nhìn thấy hoặc từng sử dụng chức năng RSS của một website. Bài viết này sẽ hướng dẫn các bạn làm thế nào để tạo một RSS cho một website, Thật Đơn giản.

Đây là struct cho một RSS Channel

public struct RssChannel
{
public string Title;
public string Link;
public string Description;
}

Còn đây là struct cho một RSS Item

public struct RssItem
{
public string Title;
public string Link;
public string Description;
}

Sau đó chúng ta viết 2 methods để tạo channel và tạo các item trong channel như sau:

private static XmlDocument addRssChannel(XmlDocument xmlDocument, RssChannel channel)
{
XmlElement channelElement = xmlDocument.CreateElement("channel");

XmlNode rssElement = xmlDocument.SelectSingleNode("rss");

rssElement.AppendChild(channelElement);

XmlElement titleElement = xmlDocument.CreateElement("title");

titleElement.InnerText = channel.Title;

channelElement.AppendChild(titleElement);

XmlElement linkElement = xmlDocument.CreateElement("link");

linkElement.InnerText = channel.Link;

channelElement.AppendChild(linkElement);

XmlElement descriptionElement = xmlDocument.CreateElement("description");

descriptionElement.InnerText = channel.Description;

channelElement.AppendChild(descriptionElement);

// Generator information

XmlElement generatorElement = xmlDocument.CreateElement("generator");

generatorElement.InnerText = "Your RSS Generator name and version ";

channelElement.AppendChild(generatorElement);

return xmlDocument;
}

và Đây là code để tạo một item cho channel:

private static XmlDocument addRssItem(XmlDocument xmlDocument, RssItem item)
{
XmlElement itemElement = xmlDocument.CreateElement("item");

XmlNode channelElement = xmlDocument.SelectSingleNode("rss/channel");

XmlElement titleElement = xmlDocument.CreateElement("title");

titleElement.InnerText = item.Title;

itemElement.AppendChild(titleElement);

XmlElement linkElement = xmlDocument.CreateElement("link");

linkElement.InnerText = item.Link;

itemElement.AppendChild(linkElement);

XmlElement descriptionElement = xmlDocument.CreateElement("description");

descriptionElement.InnerText = item.Description;

itemElement.AppendChild(descriptionElement);

// append the item

channelElement.AppendChild(itemElement);

return xmlDocument;
}

Sau đó ta lập một class để sinh ra RSS, ví dụ tên class là NewsRss, class này sẽ chứa 2 cái struct trên và cả 2 methods trên.

Code của class thì chỉ quan trọng cái constructor để tạo XmlDocument và một số methods nhằm tạo channel, add item, trả về

xml document:

public NewsRSS()
{
_rss = new XmlDocument();
XmlDeclaration xmlDeclaration = _rss.CreateXmlDeclaration("1.0", "utf-8", null);
_rss.InsertBefore(xmlDeclaration, _rss.DocumentElement);

XmlElement rssElement = _rss.CreateElement("rss");
XmlAttribute rssVersionAttribute = _rss.CreateAttribute("version");

rssVersionAttribute.InnerText = "2.0";
rssElement.Attributes.Append(rssVersionAttribute);

_rss.AppendChild(rssElement);

}

public void AddRssChannel(RssChannel channel)
{
_rss = addRssChannel(_rss, channel);
}

public void AddRssItem(RssItem item)
{
_rss = addRssItem(_rss, item);
}

public string RssDocument
{
get
{
return _rss.OuterXml;
}
}

public XmlDocument RssXMLDocument
{
get
{
return _rss;
}
}

Về bây giờ ta tạo các instant của class này mà sử dụng thôi:

Ví dụ tạo rss document và tạo channel:

NewsRSS rss = new NewsRSS();

NewsRSS.RssChannel channel = new NewsRSS.RssChannel();

channel.Title = "Zensoft Website";

channel.Link = "http://zensoft.vn";

channel.Description = "Website Chia xẻ Thông tin về CNTT.";

rss.AddRssChannel(channel);

Ví dụ tạo rss item:

NewsRSS.RssItem item = new NewsRSS.RssItem();

item.Title = "Lập Trình";

item.Link = "http://zensoft.vn/ShowCategory.aspx?ID=9";

item.Description = "Các Bài Viết Hướng Dẫn về lập Trình";

rss.AddRssItem(item);

Cuối cùng, write cái Rss trên thành Xml document ra Response object trại cái ASPX page tương tác với bên ngoài:

Response.Clear();

Response.ContentType = "text/xml";

Response.Write(rss.RssDocument);

Response.End();

Theo Zensoft

Bạn đang muốn nâng cao kỹ năng lập trình của mình ?


Bài viết liên quan:

  1. Hướng dẫn cách sao lưu và phục hồi dữ liệu trong WinXP
  2. Bài hướng dẫn :asp.net và cách load control
  3. Hướng dẫn cách đóng gói tập tin Excel
  4. Cách tạo playlist trong Windows Media Palyer với C Sharp
  5. Cách tạo luồng từ lớp Thread trong Java
  6. Hướng dẫn tăng tốc độ tải website một cách đơn giản
  7. Chọn các sản phẩm bằng cách kéo thả vào giỏ hàng, sử dụng Javascript.
  8. Cách tạo đối tượng trong java