准备工作:查了一个小时关于RSS的资料,浏览了一下CodePlex上关与RSS的一些项目。
笔记:rss2schema(这个项目很棒,实现了标准的RSS2.0的结构,可惜是没几个站点完整的遵循了这个标准,哪怕是sina,看那么多结构头都大了)、GizmoRSS(这个很实际,是个爱好者写的,代码很简单很容易看懂,但是很明显它的架构只适合小东西)、RSS文件结构(这个就不用多说了)。
测试要求:1)要求直接读取rss源(这个实现方法很多,标准的是用webclient,我用了简单的load函数,如果是真实的项目的话前者更好)2)正确读取sina和Oblog的源(这一条我测试了下,发现大多的rss源还是遵循rss2.0的标准的,不同的是大多不完整而已)。
测试结果图:
1.这个结果的部分截图

2.这个是结果中去掉description的截图
测试代码:

Code
using System;
using System.Collections.Generic;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Xml;
namespace RssRead.test
{
public partial class DownLoad : System.Web.UI.Page
{
XmlDocument doc;
protected void Page_Load(object sender, EventArgs e)
{
string Olink = "http://feed.blueben.cn/";//oblog
string Slink = "http://blog.sina.com.cn/rss/1255849511.xml";//sina
ShowBlog(Olink);
ShowBlog(Slink);
}
private void ShowBlog(string link)
{
doc = new XmlDocument();
doc.Load(link);
foreach (XmlNode channel in FindNodes("channel"))
{
//channel
Response.Write("title:" + channel.SelectSingleNode("title").InnerText);
ChangeLine();
Response.Write("descriptoin:" + channel.SelectSingleNode("description").InnerText);
ChangeLine();
Response.Write("link:" + channel.SelectSingleNode("link").InnerText);
ChangeLine();
//item
int i = 1;
foreach (XmlNode item in channel.SelectNodes("item"))
{
Response.Write(string.Format("item{0}", i));
ChangeLine();
Response.Write("title:" + item.SelectSingleNode("title").InnerText);
ChangeLine();
Response.Write("description:" + item.SelectSingleNode("description").InnerText);
ChangeLine();
Response.Write("link:" + item.SelectSingleNode("link").InnerText);
ChangeLine();
i++;
}
}
ChangeLine();
}
private XmlNodeList FindNodes(string name)
{
return doc.GetElementsByTagName(name);
}
private void ChangeLine()
{
Response.Write("<br/>");
}
}
}
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 地球OL攻略 —— 某应届生求职总结
· 提示词工程——AI应用必不可少的技术
· Open-Sora 2.0 重磅开源!
· 周边上新:园子的第一款马克杯温暖上架