源码网商城,靠谱的源码在线交易网站 我的订单 购物车 帮助

源码网商城

.net读取Rss转换为DataTable

  • 时间:2020-06-09 12:15 编辑: 来源: 阅读:
  • 扫一扫,手机访问
摘要:.net读取Rss转换为DataTable
最近需要用asp.net(c#)接收一个Rss。Rss是自己论坛的数据,而Rss是又在Item中加了一个子项。所以写了一个通用的读取Rss的代码,以后即时再增加或者删除Items中的子项,此代码也是可以辨认的。 嗯……贴代码,记录一下吧。
[u]复制代码[/u] 代码如下:
读取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;         }
  • 全部评论(0)
联系客服
客服电话:
400-000-3129
微信版

扫一扫进微信版
返回顶部