linq to xml

Linq To Xml学习 - 3.查询、更新、删除

http://kb.cnblogs.com/page/42600/

 

首先我们创建一个新窗体,这里以我的网站为例,我们起名叫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", "[email protected]")));

         //这里开始循环写数据

        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))

            //用contacts的WriteTo方法来写

            contacts.WriteTo(writer);

        //这样就OK啦

}   

你可能感兴趣的:(LINQ)