偷偷摘套内射激情视频,久久精品99国产国产精,中文字幕无线乱码人妻,中文在线中文a,性爽19p

基于.NET技術(shù)的RSS訂閱開發(fā)實例

開發(fā) 后端
RSS(Really Simple Syndication,真正簡單的連鎖)是一種Web內(nèi)容連鎖格式。RSS成為通過Web連鎖新聞內(nèi)容的標(biāo)準(zhǔn)格式。在.NET3.5下,MS集成了RSS對象。這樣一改變,就很大的方便了創(chuàng)建和讀取RSS了。本文將介紹的是基于.NET技術(shù)的RSS訂閱開發(fā)實例。

首先搞了個Rss.aspx頁面,在Page_Load方法里面顯示讓它以標(biāo)準(zhǔn)的xml格式輸出

  1. Response.Cache.SetNoStore();   
  2. Response.ContentType = "application/xml";  

然后根據(jù)需要訂閱的頁面?zhèn)鬟^來的參數(shù)進(jìn)行一番判斷。把所有符合條件的資源都放在DataTable里面。

接著用MemoryStream對象對xml進(jìn)行操作,就不多說了,看了代碼就會明白,同時也給自己做個備忘。RSS訂閱開發(fā)實例如下:

  1. MemoryStream ms = new MemoryStream();  
  2. XmlTextWriter xmlTW = new XmlTextWriter(ms, Encoding.UTF8);  
  3. xmlTW.Formatting = Formatting.Indented;  
  4. xmlTW.WriteStartDocument();  
  5. xmlTW.WriteStartElement("rss");  
  6. xmlTW.WriteAttributeString("version", "2.0");  
  7. xmlTW.WriteStartElement("channel");  
  8. if (WebID == 0)  
  9. {  
  10. }  
  11. else  
  12. {  
  13. xmlTW.WriteElementString("title", "歡迎訂閱"+WebDs.Tables[0].Rows[0]["Web_Name"].ToString()+">>"+ColumnDs.Tables[0].Rows[0]["ColumnName"].ToString());  
  14. xmlTW.WriteElementString("link", ColumnDs.Tables[0].Rows[0]["CoulumnUrl"].ToString());  
  15. xmlTW.WriteElementString("description", "");  
  16. }  
  17. DataTable dt = ds.Tables[0];  
  18. foreach (DataRow dr in dt.Rows)  
  19. {  
  20. xmlTW.WriteStartElement("item");  
  21. xmlTW.WriteElementString("title", dr["Article_Title"].ToString());  
  22. xmlTW.WriteElementString("link", GetNewsLink(dr));  
  23. xmlTW.WriteElementString("pubDate",string.Format("{0:R}",dr["CreateTime"]));  
  24. xmlTW.WriteElementString("author", dr["UserLogin_FullName"].ToString());  
  25. xmlTW.WriteElementString("description", Pub_Config.nohtml(Pub_Config.Substrin(dr["Article_Body"], 400)));  
  26. xmlTW.WriteEndElement();  
  27. }  
  28. xmlTW.WriteEndElement();  
  29. xmlTW.WriteEndElement();  
  30. xmlTW.WriteEndDocument();  
  31. xmlTW.Flush();  
  32. byte[] buffer = ms.ToArray();  
  33. Response.Write(Encoding.UTF8.GetString(buffer));  
  34. Response.End();  
  35. xmlTW.Close();  
  36. ms.Close();  
  37. ms.Dispose(); 

RSS訂閱開發(fā)實例中要注意的是:

1.XML格式是大小寫敏感的,這就意味著,XML元素的起始和終止標(biāo)簽必須匹配,拼寫和大小寫都必須一致。

2.RSS2.0的根元素是< rss>元素,這個元素可以有一個版本號的屬性,例如:

  1. < rssversionrssversion="2.0">   
  2. ...   
  3. < /rss>  

< rss>元素只有一個子元素< channel>,用來描述聚合的內(nèi)容。在< channel>元素里面有三個必需的子元素,用來描述Web站點的信息。這三個元素是:

title—定義聚合文件的名稱,一般來說,還會包括Web站點的名稱;

link—Web站點的URL;

description—Web站點的一段簡短的描述。

除此之外,還有一些可選元素來描述站點信息。這些元素的更多信息請參見RSS2.0規(guī)范。

每一個新聞項目放在一個單獨的< item>元素中。< channel>元素可以有任意數(shù)量的< item>元素。每個< item>元素可以有多種的子元素,唯一的要求是最少必須包含< title>元素和< description>元素其中一個作為子元素。以下列出了一些相關(guān)的< item>子元素:

title—新聞項目的標(biāo)題;

link—新聞項目的URL;

description—新聞項目的大綱;

author—新聞項目的作者;

pubDate—新聞項目的發(fā)布日期

3.< item>子元素尤其要注意的是pubDate的格式,RSS要求日期必須按照RFC822日期和時間規(guī)范進(jìn)行格式化,此格式要求:開頭是一個可選的3字母星期縮寫加一個逗號,

.

接著必須是日加上3字母縮寫的月份和年份,***是一個帶時區(qū)名的時間。

我們可以用Stirng.foemat()來轉(zhuǎn)化如期格式,就如我上面那個例子。

RSS訂閱開發(fā)實例的最終結(jié)果:

最終結(jié)果

【編輯推薦】

  1. 如何避免ASP.NET緩存占用系統(tǒng)資源
  2. .NET緩存機(jī)制探討與比對
  3. 概述ASP.NET緩存機(jī)制
  4. ASP.NET數(shù)據(jù)緩存之?dāng)?shù)據(jù)緩存淺談
  5. ASP.NET數(shù)據(jù)緩存機(jī)制淺析
責(zé)任編輯:彭凡 來源: 博客園
相關(guān)推薦

2009-03-22 10:04:11

ChromeRSS瀏覽器

2017-04-11 13:31:40

閱讀器開源RSS

2010-07-26 14:25:06

Widget開發(fā)

2010-07-26 14:44:47

Widget開發(fā)

2009-07-03 09:44:39

實現(xiàn)RSS功能JSP技術(shù)

2022-01-15 07:22:45

RSS訂閱互聯(lián)網(wǎng)聚合閱讀

2009-04-01 18:13:38

LinuxMonoC#.Net

2020-10-26 10:58:39

Volatility的

2009-06-15 16:29:42

JSONAJAX

2022-06-27 13:56:10

設(shè)計模式緩存分布式系統(tǒng)

2010-08-26 10:17:31

DB2.NET開發(fā)

2009-06-12 11:19:03

EJB技術(shù)商務(wù)預(yù)訂系統(tǒng)

2009-08-03 13:30:47

ASP.NET開發(fā)

2010-08-11 13:01:09

Flex.NETSocket

2009-08-21 17:11:15

ASP.NET異步回調(diào)

2009-03-09 10:28:45

AJAXASP.NETWEB

2023-10-20 14:36:08

開源軟件.Net開發(fā)

2024-05-06 00:00:00

.NET分布式鎖技術(shù)

2011-04-19 10:33:16

ASP.NET自定義控

2013-04-22 09:52:04

.netchrome核心開發(fā)chrome
點贊
收藏

51CTO技術(shù)棧公眾號