C# 读取 博客园 Rss 的新闻数据

.cs

/// <summary>
        /// 获取博客园新闻Rss数据
        /// </summary>
        /// <returns></returns>
        [HttpPost]
        public JsonResult GetRssXmlDoc()
        {
            XmlDocument doc = new XmlDocument();
            IList<RssXml> rssXmls = new List<RssXml>();
            try
            {
                //加载Xml文件
                doc.Load(_cnblogRssPath);
                //根结点
                XmlNode dataTableSettingsNode = doc.SelectSingleNode("rss");
                if (dataTableSettingsNode != null)
                {
                    XmlNode dataCellsNode = dataTableSettingsNode.SelectSingleNode("channel");

                    if (dataCellsNode != null)
                    {
                        XmlNodeList dataCellNode = dataCellsNode.SelectNodes("item");

                        if (dataCellNode != null)
                            foreach (XmlNode node in dataCellNode)
                            {
                                RssXml rssXml = new RssXml();
                                var title = node.SelectSingleNode("title");
                                var link = node.SelectSingleNode("link");
                                var pubdate = node.SelectSingleNode("pubdate");
                                var guid = node.SelectSingleNode("guid");
                                var description = node.SelectSingleNode("description");
                                if (title != null)
                                    rssXml.Title = title.InnerText;
                                if (link != null)
                                    rssXml.Link = link.InnerText;
                                if (pubdate != null)
                                    rssXml.PubDate = pubdate.InnerText;
                                if (guid != null)
                                    rssXml.Guid = guid.InnerText;
                                if (description != null)
                                    rssXml.Description = description.InnerText;
                                rssXmls.Add(rssXml);
                            }
                    }
                }
                var zwJson = new ZwJson
                {
                    Data = rssXmls,
                    IsSuccess = true,
                    JsExecuteMethod = "ajax_GetRssXmlDoc"
                };
                var json = Json(zwJson, JsonRequestBehavior.AllowGet);
                return json;
            }
            catch (Exception)
            {
                throw;
            }
 readonly string _cnblogRssPath = ConfigurationManager.AppSettings["cnblog-news"];
<appSettings>
        <!--博客园新闻rss地址-->
        <add key="cnblog-news" value="http://feed.cnblogs.com/news/rss"/>
    </appSettings>
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace MyMvc4Project.Infrastructure.Rss
{
    public class RssXml
    {
        /// <summary>
        /// 主题
        /// </summary>
        public string Title { get; set; }

        /// <summary>
        /// 链接
        /// </summary>
        public string Link { get; set; }

        /// <summary>
        /// 日期
        /// </summary>
        public string PubDate { get; set; }

        /// <summary>
        /// guid
        /// </summary>
        public string Guid { get; set; }

        /// <summary>
        /// 内容
        /// </summary>
        public string Description { get; set; }
    }
}

js

function ajax_GetRssXmlDoc(data) {
    var html = "";
    var len = data.Data.length;
    $(".panel-join .panel-body").empty();
    html += '<ul>';
    for (var i = 0; i < 10; i++) {
        html += '<li><a href="' + data.Data[i].Link + '" title="' + data.Data[i].Title + '">'
            + data.Data[i].Title.substr(0, 19) + '</a></li>';
    }

    html += '</ul>';
    $(".panel-join .panel-body").append(html);
}

时间: 2024-09-20 14:53:49

C# 读取 博客园 Rss 的新闻数据的相关文章

在Web微信应用中使用博客园RSS以及Quartz.NET实现博客文章内容的定期推送功能

本篇随笔介绍在Web微信应用中使用博客园RSS以及Quartz.NET实现博客文章内容的定期推送功能,首先对Quartz.NET进行一个简单的介绍和代码分析,掌握对作业调度的处理,然后对博客园RSS内容的处理如何获取,并结合微信消息的群发接口进行内容的发送,从而构建了一个在Web应用中利用作业调度来进行消息发送的业务模型. Quartz.NET是一个开源的作业调度框架,非常适合在平时的工作中,定时轮询数据库同步,定时邮件通知,定时处理数据等. Quartz.NET允许开发人员根据时间间隔(或天)

以读取博客园随笔备份为例 将xml 序列化成json,再序列化成对象

本文转载:本文转载:http://www.cnblogs.com/codealone/archive/2013/04/14/3020161.html 在线JOSN编辑器http://tools.jb51.net/tools/json/json_editor.htm 非常强大! 资源下载:http://files.cnblogs.com/codealone/ConsoleApplication2.zip Json查看工具:http://files.cnblogs.com/codealone/Jso

微信小程序实现博客园文章阅读功能

在微信小程序开发中,我们可以根据不同的业务场景,开发不同的业务应用,可以基于自身域名服务接口,也可以基于第三方的域名接口进行处理(如果被禁用除外),本篇随笔介绍使用小程序来实现我博客(http://wuhuacong.cnblogs.com)的文章阅读功能,这个小程序主要用来介绍使用介绍基于Javascript的正则表达式的处理应用,和常规在C#里面使用正则表达式有一些差异,因此可以作为后续使用正则表达式处理业务数据的一个练兵吧. 1.Request接口合法域名配置 一般情况下,我们知道微信的R

利用正则表达式抓取博客园列表数据_正则表达式

鉴于我在要完成的asp.net MVC 3 仿照博客园企业系统要用到测试数据,我自己输入太累,所以我就抓取了博客园的部分列表数据,还请dudu不要见怪. 在抓取博客园数据的时候采用了正则表达式,所以有不熟悉正则表达式的朋友可以参考相关资料,其实很容易掌握,就是在具体的实例中会花些时间. 现在我就来把我抓取博客园数据的过程叙述一下,如果有朋友有更好的意见,欢迎提出来. 要使用正则表达式抓取数据,首先就要创建一个正则表达式进行匹配,我推荐使用regulator,这个正则表达式工具,我们可以先使用这个

利用正则表达式抓取博客园列表数据

鉴于我在要完成的asp.net MVC 3 仿照博客园企业系统要用到测试数据,我自己输入太累,所以我就抓取了博客园的部分列表数据,还请dudu不要见怪. 在抓取博客园数据的时候采用了正则表达式,所以有不熟悉正则表达式的朋友可以参考相关资料,其实很容易掌握,就是在具体的实例中会花些时间. 现在我就来把我抓取博客园数据的过程叙述一下,如果有朋友有更好的意见,欢迎提出来. 要使用正则表达式抓取数据,首先就要创建一个正则表达式进行匹配,我推荐使用regulator,这个正则表达式工具,我们可以先使用这个

【开源】开发者新闻APP+新闻Restful服务+博客园新闻采集程序+infoq新闻采集程序+36kr新闻采集程序+oschina新闻采集程序+51cto新闻采集程序+csdn新闻采集程序

这几天车子跟别人撞了,水箱撞稀烂了,要坐一个星期的公车 实在太无聊,就抽时间搞了这么个APP出来,打发公车上的时光 (开发者头条里的新闻专业性太强,公车上实在无法静心研读) 我经常看的也就博客园.infoq.36kr.开源中国的新闻 现在只做了博客园和infoq,接下来打算做36kr和开源中国的新闻(这个工作今天早上已经完成了),如果大家有什么好建议也可以在评论里提 数据都是准实时的取来的,以后争取做到你去刷就有新闻给你看 todo:新闻的分享.收藏.标签.分类等功能,当然这要看大家的热情程度啦

ajax自动加载blogjava和博客园的rss

ajax|rss|博客|加载 自动加载blogjava和博客园的rss <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"  "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head><title>

用ajax自动加载blogjava和博客园的rss_AJAX相关

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"   "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <title>this is test</title> <

博客园积分与排名升级攻略(转)

博客园积分算法探讨 今天在dudu的<博客园FAQ>上看到了博客积分算法规则.因为同样是搞互联网的,平时工作也涉及到用户积分算法的设计,所以特把此问题拿出来分析探讨.初衷只是纯学术的研究探讨,并不构成对博客园积分机制的意见建议. 我们先来看看现行规则,用公式表示为:-------------------------------------------------------------------BlogScore = BeRead + 10 * BeComment + 50 * Commen