.net读取Rss转换为DataTable
最近需要用asp.net(c#)接收一个Rss。Rss是自己论坛的数据,而Rss是又在Item中加了一个子项。所以写了一个通用的读取Rss的代码,以后即时再增加或者删除Items中的子项,此代码也是可以辨认的。
嗯……贴代码,记录一下吧。
代码如下:
读取Rss返回DataTable /// <summary> /// 获Rss并转换为DataTable返回 /// </summary> /// <param name="filePath">Rss地址</param> /// <returns></returns> public static DataTable GetRss(string filePath) { DataTable dt = new DataTable(); WebClient wc = new WebClient(); Stream srContent = wc.OpenRead(filePath); StreamReader sr = new StreamReader(srContent); if (!sr.EndOfStream) { XmlDocument xmlDoc = new XmlDocument(); xmlDoc.Load(sr); XmlNodeList xnl = xmlDoc.SelectNodes("rss/channel/item"); if (xnl.Count > 0) { {//为dataTable添加列标识开始 XmlNode xnColumn = xnl[0]; XmlNodeList columnsNode = xnColumn.ChildNodes; foreach (XmlNode xn in columnsNode) { DataColumn dc = new DataColumn(xn.Name); dt.Columns.Add(dc); } }//为dataTable添加列标识结束 {//为DataTable添加行数据 foreach (XmlNode xnDate in xnl) { DataRow dr = dt.NewRow(); for (int i = 0; i < dt.Columns.Count; i++) { XmlNode itemValue = xnDate.SelectSingleNode(dt.Columns[i].ColumnName); dr[i] = itemValue.InnerText; } dt.Rows.Add(dr); } }//为DataTable添加列数据 } } return dt; }
相关推荐
wanxuncpx 2020-06-01
malachuan 2020-05-17
IT前沿 2020-04-25
Vikingsoft 2020-04-23
晚安假行僧 2020-02-09
malachuan 2019-11-11
徐汇业大信息中心 2011-09-25
xiaomingqing 2015-06-29
chennai0 2015-07-22
panpanhappy 2019-07-15
iComputer 2019-09-05
川大门口贴膜小哥 2018-09-18
Vikingsoft 2018-08-18
IT前沿 2014-06-03
panpanhappy 2011-04-17
IT前沿 2013-08-27
灬扫地僧 2013-05-17