一区二区久久-一区二区三区www-一区二区三区久久-一区二区三区久久精品-麻豆国产一区二区在线观看-麻豆国产视频

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

首先引用網絡上不知道是誰的一段文字來講述下什么是linq to xml 如果已經熟悉的就直接跳過這段: 

LINQ to XML 是一種啟用了 LINQ 的內存 XML 編程接口,使用它,可以在 .NET Framework 編程語言中處理 XML

  它將 XML 文檔置于內存中,這一點很像文檔對象模型 (DOM) 您可以查詢和修改 XML 文檔,修改之后,可以將其另存為文件,也可以將其序列化然后通過網絡發送。 但是,LINQ to XML DOM 不同: 它提供一種新的對象模型,這是一種更輕量的模型,使用也更方便,這種模型利用了 Visual C# 2008 在語言方面的改進。

  LINQ to XML 最重要的優勢是它與 Language-Integrated Query (LINQ) 的集成。 由于實現了這一集成,因此,可以對內存 XML 文檔編寫查詢,以檢索元素和屬性的集合。 LINQ to XML 的查詢功能在功能上(盡管不是在語法上) XPath XQuery 具有可比性。 Visual C# 2008 集成 LINQ 后,可提供更強的類型化功能、編譯時檢查和改進的調試器支持。

  通過將查詢結果用作 XElement XAttribute 對象構造函數的參數,實現了一種功能強大的創建 XML 樹的方法。 這種方法稱為函數構造,利用這種方法,開發人員可以方便地將 XML 樹從一種形狀轉換為另一種形狀。

  LINQ to XML 提供了改進的 XML 編程接口,這一點可能與 LINQ to XML LINQ 功能同樣重要。 通過 LINQ to XML,對 XML 編程時,您可以實現任何預期的操作,包括:

·                                   從文件或流加載 XML

·                                   將 XML 序列化為文件或流。

·                                   使用函數構造從頭開始創建 XML。

·                                   使用類似 XPath 的軸查詢 XML

·                                   使用 AddRemove、ReplaceWith SetValue 等方法對內存 XML 樹進行操作。

·                                   使用 XSD 驗證 XML 樹。

·                                   使用這些功能的組合,可將 XML 樹從一種形狀轉換為另一種形狀。

好了,我開始廢話,首先說一下呢,我技術平平,寫出來的文章自然也是不怎么高水平的,但是都是我自己實際項目中總結出來的。
錯誤之處還請大家指正,轉載的朋友請注明出處:
『半途』

現在言歸正傳說我們的正題

首先我們創建一個新窗體,這里以我的網站為例,我們起名叫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

it知識庫使用linq to xml 快速創建自己的Rss,轉載需保留來源!

鄭重聲明:本文版權歸原作者所有,轉載文章僅為傳播更多信息之目的,如作者信息標記有誤,請第一時間聯系我們修改或刪除,多謝。

主站蜘蛛池模板: 日日噜噜噜夜夜爽爽狠狠视频 | 一本色道久久综合狠狠躁 | 久久久精品免费国产四虎 | 日本视频一区二区三区 | 99精品久久99久久久久久 | 成年香蕉大黄美女美女 | 性满足久久久久久久久 | va免费视频 | 亚洲激情99| 久久大香萑太香蕉综合网 | 久久久精品一区 | 最新精品亚洲成a人在线观看 | 成年网站未满十八禁毛片免费 | 久久久久久久综合狠狠综合 | 欧美夜色| 国产精品免费精品自在线观看 | 四虎精品影院4hutv四虎 | 激情深爱 | 69视频在线观看 | 日本在线观看www免费 | 激情图片激情文学 | 成人国产精品999视频 | 欧美αv天堂在线视频 | 国产福利在线观看视频 | 亚洲国产精品自在在线观看 | 久热香蕉视频 | 91在线入口 | 视频二区中文字幕 | 麻豆精品国产自产在线 | 欧美在线视频网站 | 亚色在线播放 | 日本一区二区三区久久久久 | 欧美人禽杂交狂配在线观看视频 | 美国一级做a爰片性色毛片 美国一区二区三区 | 国产色综合一区二区三区 | 午夜激情在线观看 | 九九全国免费视频 | 亚洲综合久久综合激情久久 | aⅴ一区二区三区无卡无码 aaaaaa精品视频在线观看 | 国产成人精品一区二三区 | 五月亭亭免费高清在线 |