- 热门文章:
- · Session登陆后丢失的解决办法
- · 基于HTTP协议用WinSock实现任意文件下载
- · 奔腾Flash Player source code
- · 《Essential .Net》读书笔记 - Chapter 2
- · 《Essential .Net》读书笔记 - Chapter 1
- · 获取指定IP的终端的MAC地址
- · 网络传输(FTP)问题
- · Paint.NET: An Open Source GDI+ App Likes Photoshop
- · 看到有人用 WebClient来下载, 发篇用 WebRequest 实现有进度下载的吧.
- · 树形控件TreeView的序列化
- · 使用javascript+XML实现分页
- · 使用Control.Invoke处理多线程应用程序界面
asp.net 页面中生成 RSS 2.0 提要
<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns="http://purl.org/rss/1.0/" xmlns:dc="http://purl.org/dc/elements/1.1/" > <channel rdf:about="http://skonnard.com/blog/rss.xml"> <title>The XML Files</title> <link>http://skonnard.com/blog</link> <description>by Aaron Skonnard</description> <image rdf:resource="http://skonnard.com/blog/images/image.gif" /> <items> <rdf:Seq> <rdf:li resource=" http://skonnard.com/blog/entry1" /> <rdf:li resource=" http://skonnard.com/blog/entry2" /> </rdf:Seq> </items> </channel> <image rdf:about=" http://skonnard.com/blog/images/image.gif"> <title>skonnard.com</title> <link>http://skonnard.com/blog</link> <url>http://skonnard.com/blog/images/image.gif</url> </image> <item rdf:about="http://skonnard.com/blog/entry1"> <title>1st blog entry</title> <link>http://skonnard.com/blog/entry1</link> <description>This is my first blog entry.</description> <dc:date>2004-01-13T17:16:44.9803903-07:00</dc:date> </item> <item rdf:about="http://skonnard.com/blog/entry1"> <title>2nd Blog Entry</title> <link>http://skonnard.com/blog/entry1</link> <description>This is my second blog entry.</description> <dc:date>2004-01-13T17:16:45.9803903-07:00</dc:date> </item></rdf:RDF>
Figure 2 Sample RSS 2.0 Document
<rss version="2.0"> <channel> <title>The XML Files</title> <link>http://Skonnard.com/blog</link> <description>by Aaron Skonnard</description> <image> <url>http://skonnard.com/blog/images/image.gif</url> <title>skonnard.com</title> <link>http://skonnard.com/blog/</link> </image> <item> <title>1st blog entry</title> <link>http://skonnard.com/blog/entry1</link> <description>This is my first blog entry.</description> <pubDate>Wed, 14 Jan 2004 17:16:44 GMT</pubDate> </item> <item> <title>2nd blog entry</title> <link>http://skonnard.com/blog/entry1</link> <description>This is my second blog entry</description> <pubDate>Wed, 14 Jan 2004 17:16:45 GMT</pubDate> </item> </channel></rss>
Figure 3 Sample Atom 0.3 Feed
<feed version="0.3" xml:lang="en-us" xmlns="http://purl.org/atom/ns#"> <title>The XML Files</title> <link>http://skonnard.com/blog/</link> <modified>2004-01-13T17:16:45.0004199-07:00</modified> <tagline>by Aaron Skonnard</tagline> <author> <name>Aaron Skonnard</name> </author> <entry> <title>1st blog entry</title> <link>http://skonnard.com/blog/entry1</link> <created>2004-01-13T17:16:44.9803903-07:00</created> <content type="text/html" mode="xml"> <body xmlns="http://www.w3.org/1999/xhtml"> <p>This is my first blog entry</p> </body> </content> </entry> <entry> <title>2nd blog entry</title> <link>http://skonnard.com/blog/entry2</link> <created>2004-01-13T17:16:45.9803903-07:00</created> <content type="text/html" mode="xml"> <body xmlns="http://www.w3.org/1999/xhtml"> <p>This is my second blog entry</p> </body> </content> </entry></feed>
Figure 4 Sample Blogroll (OPML)
<opml> <head> <title>Aaron@#s Favorite Blogs</title> </head> <body> <outline type="rss" title="PDC Bloggers" description="PDC Bloggers website" xmlUrl="http://pdcbloggers.net/Feed.rss" htmlUrl="http://PDCBloggers.net" /> <outline type="rss" title="MSDN Magazine: Current Issue" description="The Microsoft Journal for Developers" xmlUrl="http://msdn.microsoft.com/msdnmag/rss/recent.xml" htmlUrl="http://msdn.microsoft.com/msdnmag/" /> <outline type="rss" title="MSDN Just Published" description="Keep current ..." xmlUrl="http://msdn.microsoft.com/rss.xml" htmlUrl="http://msdn.microsoft.com/" /> </body></opml>
Figure 5 Generating an RSS 2.0 Feed in ASP.NET
<%@ Page language="c#" Codebehind="rss.aspx.cs" AutoEventWireup="false" Inherits="SimpleBlog.rss" %><rss version="2.0"> <channel> <title>My Blog</title> <link>http://localhost/simpleblog/default.aspx</link> <description>A weblog about nothing...</description> <language>en-us</language> <asp:Repeater id="Items" runat="server"> <ItemTemplate> <item> <title><%#DataBinder.Eval(Container.DataItem, "title")%></title> <description><%#DataBinder.Eval( Container.DataItem,"description")%></description> <pubDate><%#DataBinder.Eval(Container.DataItem, "pubdate") %></pubDate> <link><%# DataBinder.Eval(Container.DataItem, "link") %></link> </item> </ItemTemplate> </asp:Repeater> </channel></rss>
Figure 6 RSS Aggregator Web User Control
<%@ Control Language="c#" AutoEventWireup="true" EnableViewState="false" Debug="true"%><%@ Import namespace="System.Xml" %><%@ OutputCache Duration="1800" VaryByParam="none" %><script runat="server" language="C#">private void Page_Load(object sender, System.EventArgs e){ StringBuilder sb = new StringBuilder(); XmlDocument doc = new XmlDocument(); doc.Load(Server.MapPath("blogroll.opml")); int numToDisp = int.Parse(doc.SelectSingleNode( "/opml/@numberToDisplay").InnerText); XmlNodeList rss = doc.SelectNodes("//outline/@xmlUrl"); foreach (XmlNode r in rss) { XmlDocument blogdoc = new XmlDocument(); blogdoc.Load(r.Value); XmlNodeList items = blogdoc.SelectNodes("//item"); for (int i=0; i<items.Count && i<numToDisp; i++) { string author=""; XmlNode authorNode = items[i].SelectSingleNode( "*[local-name()=@#author@# or local-name()=@#creator@#]"); if (authorNode != null) author = authorNode.InnerText; sb.Append(String.Format( "• <a href={0}>{1} ({2})</a><br/>", items[i].SelectSingleNode("link").InnerText, items[i].SelectSingleNode("title").InnerText, author)); } } EntriesHTML.Text = sb.ToString();}</script><style> <!-- styles omitted for brevity --> ... </style><div class="title">UNUG Blogs</div><asp:Literal id="EntriesHTML" runat="server"></asp:Literal>
下一篇:Session登陆后丢失的解决办法 >>
相关文章:
- · WEB页面TreeView的应用-(得到所有选中的节点)
- · DotNetNuke(DNN)
- · 枚举器模式(Enumerator pattern)
- · 用ASP.NET 1.1 新特征防止Script攻击
- · 关于ASP.Net中的时间处理
- · javascript实现的数据表格:冻结列、调整列宽和客户端排序
- · [常见问题]cookie使用1.Page与HttpContext的Request、Response
- · 怎样在页面和页面的用户控件进行交互
- · webform页面间传值的特殊方法
- · 怎么直接建立一个DataTable并且为之添加数据
- · 我的第一个Asp.Net程序
- · 如何把数据放到web不能访问的文件夹中并给用户下载?
- · How to handle the concurrency problems on ASP.Net Database
- · 后台动态设置前台标签内容和属性
- · ASP.NET中让同一个页面不同的文本框回车响应不同的事件
- · 认识ASP.NET配置文件Web.config
- · 将ArrayList中的ListItem绑定到DropDownList中去
- · 安全存放web项目数据库连接字符串
- · 分享:Project级别的权限控制
- · Solidworks二次开发—06—在装配体中添加配合
- · 在Repeater中嵌套使用Repeater
- · 一个简单的加密/解密方法
- · 加入身份验证信息的SMTP mail发送
- · webconfig的设置节点说明
- · 现有的Web打印控制技术分成几种方案
- · 一段实现DataGrid的“编辑”、“取消”功能脚本[无刷新]
- · WEB图片高清晰浏览同打印
- · Tangram与软件的组合构造
- · solidworks二次开发-04-修改数据
- · Solidworks二次开发-05-装配体中插入零部件
- · solidworks二次开发-03-访问特征数据
- · solidworks二次开发-02-用来访问特征的两个API
- · solidworks二次开发-01-录制一个宏
- · 有关于web播放器的列表播放问题
- · Microsoft User Interface Process Application Block 研究(3)
- · ASP.NET中使用IFRAME建立类Modal窗口
- · 挤压造型Extrusion的节点说明和应用实例
- · .net 里面 protected private 的变量也可以访问
