文章详情

  • 游戏榜单
  • 软件榜单
关闭导航
热搜榜
热门下载
热门标签
php爱好者> php文档>读取Rss并返回DataTable

读取Rss并返回DataTable

时间:2010-09-30  来源:庄周梦蝶

不知道网上有没有现成的代码

最近需要用asp.net(c#)写一个Rss的接受。

接受的是自己论坛的Rss

而Rss是又在Item中加了一个子项。

所以写了一个通用的读取Rss的代码,以后即时再增加或者删除Items中的子项,此代码也是可以辨认的。

嗯……贴代码,记录一下吧。

读取Rss返回DataTable
 1 /// <summary>
2 /// 获Rss并转换为DataTable返回
3 /// </summary>
4 /// <param name="filePath">Rss地址</param>
5 /// <returns></returns>
6 public static DataTable GetRss(string filePath)
7 {
8 DataTable dt = new DataTable();
9 WebClient wc = new WebClient();
10 Stream srContent = wc.OpenRead(filePath);
11
12 StreamReader sr = new StreamReader(srContent);
13 if (!sr.EndOfStream)
14 {
15 XmlDocument xmlDoc = new XmlDocument();
16 xmlDoc.Load(sr);
17 XmlNodeList xnl = xmlDoc.SelectNodes("rss/channel/item");
18 if (xnl.Count > 0)
19 {
20 {//为dataTable添加列标识开始
21 XmlNode xnColumn = xnl[0];
22 XmlNodeList columnsNode = xnColumn.ChildNodes;
23 foreach (XmlNode xn in columnsNode)
24 {
25 DataColumn dc = new DataColumn(xn.Name);
26 dt.Columns.Add(dc);
27 }
28 }//为dataTable添加列标识结束
29
30 {//为DataTable添加行数据
31 foreach (XmlNode xnDate in xnl)
32 {
33 DataRow dr = dt.NewRow();
34 for (int i = 0; i < dt.Columns.Count; i++)
35 {
36 XmlNode itemValue = xnDate.SelectSingleNode(dt.Columns[i].ColumnName);
37 dr[i] = itemValue.InnerText;
38 }
39 dt.Rows.Add(dr);
40 }
41 }//为DataTable添加列数据
42 }
43 }
44 return dt;
45 }

 

相关阅读 更多 +
排行榜 更多 +
辰域智控app

辰域智控app

系统工具 下载
网医联盟app

网医联盟app

运动健身 下载
汇丰汇选App

汇丰汇选App

金融理财 下载