您的位置:知识库 » 数据库

使用linq to xml 快速创建自己的Rss

作者: 半途  来源: 博客园  发布时间: 2008-09-23 17:17  阅读: 9639 次  推荐: 0   原文链接   [收藏]  
[1] 使用linq to xml 快速创建自己的Rss
[2] 使用linq to xml 快速创建自己的Rss

首先我们创建一个新窗体,这里以我的网站为例,我们起名叫Rss.aspx

创建完成后,如果Rss数据源是XML实际文档,就跳过下面一步,如果Rss数据源是aspx文件

请在创建完新页面后切换到源视图

保留这一行:

<%@ Page Language="C#" AutoEventWireup="true" CodeFile="Rss.aspx.cs" Inherits="Rss" %>

其余的html代码全部删除

然后在cs里创建方法createRss()

具体看代码和注释:

public void createRss()

    {

        //首先从数据库里读出所需要的数据

        XXXXContext bd = new XXXXContext();

        var sq = from p in bd.news orderby p.ID descending select new { p.ID, p.title,p.cont, p.in_date,p.n_type };

        //开始创建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.bantool.cn"),

                       new XElement("description", "C#,linq,vs2008"),

                       new XElement("language", "zh_cn"),

                       new XElement("copyright", "Copyright 2008 bantool"),

                       new XElement("webMaster", "ziie@tom.com")));

         //这里开始循环写数据

        foreach (var p in sq)

        {

            contacts.Element("channel").Add(new XElement("item",

                             new XElement("title", p.title),

                             new XElement("link", "http://www.bantool.cn/news" + p.ID + ".bantool"),

                             new XElement("description", p.cont),

                             new XElement("category", p.n_type),

                             new XElement("pubDate", p.in_date)));

        }

        //这里开始操作xml是写入具体的xml文件还是直接输出

        //如果是写入文件的话用这个

        //contacts.Save("文件路径");

        //如果是输出的諙,

        //先设好输出的类型"text/xml"

        Response.ContentType = "text/xml";

        using (XmlWriter writer = new XmlTextWriter(Response.OutputStream, Encoding.UTF8))

            //contactsWriteTo方法来写

            contacts.WriteTo(writer);

        //这样就OK

}   

 

好了,这个样子就完成了,看我们的linq多么强大!呵呵

如果有错误还请大家指正,不明白的地方请提出来大家讨论

演示地址:http://www.bantool.cn/Rss.aspx


文章来源:http://www.bantool.cn/news33.bantool

[第1页][第2页]
0
0
 
标签:linq xml rss

数据库热门文章

    数据库最新文章

      最新新闻

        热门新闻