.net读取Rss转换为DataTable

 更新时间:2013年10月28日 10:30:27   作者:  
使用.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;
        }

相关文章

  • asp.net点选验证码实现思路分享 (附demo)

    asp.net点选验证码实现思路分享 (附demo)

    这篇文章主要介绍了asp.net点选验证码实现思路分享 (附demo),具有一定的参考价值,感兴趣的小伙伴们可以参考一下。
    2017-01-01
  • 基于asp.net实现图片在线上传并在线裁剪功能

    基于asp.net实现图片在线上传并在线裁剪功能

    本文主要介绍了基于asp.net实现图片在线上传并在线裁剪功能的具体事例代码,具有一定的参考价值。需要的朋友可以参考下
    2016-12-12
  • Asp.net core中实现自动更新的Option的方法示例

    Asp.net core中实现自动更新的Option的方法示例

    这篇文章主要介绍了Asp.net core中实现自动更新的Option的方法示例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2019-03-03
  • 详解.NET中负载均衡的使用

    详解.NET中负载均衡的使用

    这篇文章主要介绍了详解.NET中负载均衡的使用,负载均衡即LB,就是将并发的用户请求通过规则后平衡、分摊到多台服务器上进行执行,以此达到压力分摊、数据并行的效果
    2022-06-06
  • 如何在.Net6 web api中记录每次接口请求的日志

    如何在.Net6 web api中记录每次接口请求的日志

    .net6有自带的logging组件,还有很多优秀的开源log组件,如NLog,serilog,这里我们使用serilog组件来构建日志模块,这篇文章主要介绍了如何在.Net6 web api中记录每次接口请求的日志,需要的朋友可以参考下
    2023-06-06
  • .NET使用RSA加密解密的方法

    .NET使用RSA加密解密的方法

    这篇文章主要为大家详细介绍了.NET使用RSA加密解密的方法,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2019-03-03
  • jquery repeater 模仿 Google 展开页面预览子视图

    jquery repeater 模仿 Google 展开页面预览子视图

    节后的这一周, 希望大家能挺住, hehe, 这两天给大家准备一个 Repeater 子视图的例子, 模拟了 Google 搜索结果后的页面的预览, 其实也只是显示了一段问题
    2011-10-10
  • .net 页面指定区域打印的方法

    .net 页面指定区域打印的方法

    .net 页面指定区域打印的方法,需要的朋友可以参考一下
    2013-04-04
  • ASP.NET泛型一之泛型简介与基本语法

    ASP.NET泛型一之泛型简介与基本语法

    这篇文章介绍了ASP.NET泛型的简介与基本语法,文中通过示例代码介绍的非常详细。对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2022-08-08
  • ASP.NET MVC的四种验证编程方式

    ASP.NET MVC的四种验证编程方式

    ASP.NET MVC采用Model绑定为目标Action生成了相应的参数列表,但是在真正执行目标Action方法之前,还需要对绑定的参数实施验证以确保其有效性,我们将针对参数的验证成为Model绑定,需要的朋友可以参考下
    2015-10-10

最新评论