很多网站都有自己的RSS,供用户订阅查看,故尝试为自己的网站做一个RSS。百度了一下,发现linq to xml提供了一个很简单的方法。

1.新建一个RSS.aspx页面,去除html内容,在cs页面添加代码:

_ueditor_page_break_tag_

        public void createRss()
        {
            //首先从数据库里读出所需要的数据 
            DDWWebDataContext ddw = new DDWWebDataContext();
            BLLCatalog bll = new BLLCatalog();
            var query = from a in ddw.Inf_Article
                        select new{
                            a.ID,
                            a.Title,
                            a.Content,
                            a.Keywords,
                            ArticleType=bll.getNameByCode(a.ArticleType),
                            a.Description,
                            a.dtCreate
                        };
            //开始创建xml 对于Rss的规范我这里不再啰嗦了,不明白的可以去网上查一下 
            //下面这一部分为xml里的声明部分,从foreach开始循环item,把sq的数据循环写入xml 
            XElement contacts = new XElement("rss", new XAttribute("version", "2.0"),
                new XElement("channel",
                    new XElement("title", "呆呆蛙的RSS"),
                    new XElement("link", "http://www.daidaiwa.com"),
                    new XElement("description", "呆呆蛙,关注生活和互联网技术的个人小站"),
                    new XElement("language", "zh_cn"),
                    new XElement("copyright", "Copyright 2013 daidaiwa"),
                    new XElement("webMaster", "1872377517@qq.com")
                    )
                );
            //这里开始循环写数据 
            foreach (var p in query)
            {
                contacts.Element("channel").Add(new XElement("item",
                new XElement("title", p.Title),
                new XElement("link", "http://www.daidaiwa.com/ArticleDetail/" + changeDate(p.dtCreate)+"/" + p.ID + ".html"),
                new XElement("description", p.Description),
                new XElement("category", p.ArticleType),
                new XElement("pubDate", p.dtCreate)));
            }
            //这里开始操作xml是写入具体的xml文件还是直接输出 
            //如果是写入文件的话用这个 
            //contacts.Save("文件路径"); 
            //如果是输出的諙, 
            //先设好输出的类型"text/xml" 
            Response.ContentType = "text/xml";
            using (XmlWriter writer = new XmlTextWriter(Response.OutputStream, Encoding.UTF8))
            //用contacts的WriteTo方法来写 
            contacts.WriteTo(writer);
            //这样就OK啦 
        }

参考页面:http://www.daidaiwa.com/RSS.aspx

最后修改:2013 年 08 月 28 日
如果觉得我的文章对你有用,请随意赞赏