好湿?好紧?好多水好爽自慰,久久久噜久噜久久综合,成人做爰A片免费看黄冈,机机对机机30分钟无遮挡

主頁(yè) > 知識(shí)庫(kù) > 解析linq to xml操作XML的示例分析

解析linq to xml操作XML的示例分析

熱門(mén)標(biāo)簽:戶外地圖標(biāo)注軟件手機(jī)哪個(gè)好用 電銷語(yǔ)音自動(dòng)機(jī)器人 五常地圖標(biāo)注 萊蕪?fù)夂綦婁N機(jī)器人價(jià)格 鄭州400電話辦理 聯(lián)通 凱立德導(dǎo)航官網(wǎng)地圖標(biāo)注 智能電話營(yíng)銷外呼系統(tǒng) 長(zhǎng)春呼叫中心外呼系統(tǒng)哪家好 地圖標(biāo)注和認(rèn)領(lǐng)
.Net中的System.Xml.Linq命名空間提供了linq to xml的支持。這個(gè)命名空間中的XDocument,XElement以及XText,XAttribute提供了讀寫(xiě)xml文檔的關(guān)鍵方法。
1. 使用linq to xml寫(xiě)xml:
使用XDocument的構(gòu)造函數(shù)可以構(gòu)造一個(gè)Xml文檔對(duì)象;使用XElement對(duì)象可以構(gòu)造一個(gè)xml節(jié)點(diǎn)元素,使用XAttribute構(gòu)造函數(shù)可以構(gòu)造元素的屬性;使用XText構(gòu)造函數(shù)可以構(gòu)造節(jié)點(diǎn)內(nèi)的文本。
如下實(shí)例代碼:
復(fù)制代碼 代碼如下:

class Program
{
    static void Main(string[] args)
    {         
        var xDoc = new XDocument(new XElement( "root",
            new XElement("dog",
                new XText("dog said black is a beautify color"),
                new XAttribute("color", "black")),
            new XElement("cat"),
            new XElement("pig", "pig is great")));

        //xDoc輸出xml的encoding是系統(tǒng)默認(rèn)編碼,對(duì)于簡(jiǎn)體中文操作系統(tǒng)是gb2312
        //默認(rèn)是縮進(jìn)格式化的xml,而無(wú)須格式化設(shè)置
        xDoc.Save(Console.Out);

        Console.Read();
    }
}

上面代碼將輸出如下Xml:
復(fù)制代碼 代碼如下:

?xml version="1.0" encoding="gb2312"?>
root>
  dog color="black">dog said black is a beautify color/dog>
  cat />
  pig>pig is great/pig>
/root>

可以看出linq to xml比XmlDocument和XmlWriter要方便很多。
2. 使用linq to xml 讀取xml
Linq是從集合中查詢對(duì)象,在linq to xml中的集合是通過(guò)XElement的Elements(),Elements(string name),以及Descendants、DescendantsAndSelf、Ancestors、AncestorsAndSelf的幾個(gè)重載方法中獲得。
獲得XElement集合之后,可以通過(guò)XElement的Attribute(string name)方法獲得元素的屬性值,可以通過(guò)XElement的Value屬性獲得節(jié)點(diǎn)的文本值;使用linq就可以方便的做查詢,做篩選排序了
還是上例中的xml,我們要讀取root的所有字節(jié)點(diǎn),并打印出來(lái),如下代碼:
復(fù)制代碼 代碼如下:

class Program
{
    static void Main(string[] args)
    {

        var xDoc = new XDocument(new XElement( "root",
            new XElement("dog",
                new XText("dog said black is a beautify color"),
                new XAttribute("color", "black")),
            new XElement("cat"),
            new XElement("pig", "pig is great")));

        //xDoc輸出xml的encoding是系統(tǒng)默認(rèn)編碼,對(duì)于簡(jiǎn)體中文操作系統(tǒng)是gb2312
        //默認(rèn)是縮進(jìn)格式化的xml,而無(wú)須格式化設(shè)置
        xDoc.Save(Console.Out);

        Console.WriteLine();

        var query = from item in xDoc.Element( "root").Elements()
                    select new
                    {
                        TypeName    = item.Name,
                        Saying      = item.Value,
                        Color       = item.Attribute("color") == null?(string)null:item.Attribute("color").Value
                    };

 
        foreach (var item in query)
        {
            Console.WriteLine("{0} 's color is {1},{0} said {2}",item.TypeName,item.Color??"Unknown",item.Saying??"nothing");
        }

        Console.Read();
    }
}

3. Linq to xml簡(jiǎn)單的應(yīng)用
應(yīng)用需求: 讀取博客園的rss,然后在頁(yè)面上輸出最新的10篇博客信息
實(shí)現(xiàn)要點(diǎn): 通過(guò)XDocument的Load靜態(tài)方法載入Xml,通過(guò)linq查詢最新10條數(shù)據(jù)
代碼如下:
復(fù)制代碼 代碼如下:

%@ Page Language="C#" AutoEventWireup="true" %>
script runat="server">
    protected override void OnLoad(EventArgs e)
    {
        //實(shí)際應(yīng)用,通過(guò)讀取博客園的RSS生成Html代碼顯示最新的博客列表
        //使用XDocument的Load靜態(tài)方法載入Xml
        var rssXDoc = XDocument.Load("https://www.jb51.net");

        //使用linq to xml查詢前10條新博客
        var queryBlogs = (from blog in rssXDoc.Descendants("item")
                          select new
                          {
                              Title = blog.Element("title").Value,
                              Url = blog.Element("link").Value,
                              PostTime = DateTime.Parse(blog.Element("pubDate").Value)
                          }).Take(20);
        repeaterBlogs.DataSource = queryBlogs;
        repeaterBlogs.DataBind();
        base.OnLoad(e);
    }
/script>
!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
html xmlns="http://www.w3.org/1999/xhtml">
head runat="server">
    title>Linq to Xml 實(shí)例/title>
/head>
body>
    ol>
        asp:Repeater ID="repeaterBlogs" EnableViewState="false" runat="server">
            ItemTemplate>
                li>span style="float: right">
                    %#Eval("PostTime") %>/span>a href="%#Eval("Url") %>">%#Eval("Title") %>/a>/li>
            /ItemTemplate>
        /asp:Repeater>
    /ol>
/body>
/html>

C#的發(fā)展讓讀寫(xiě)Xml越來(lái)越簡(jiǎn)單了。
您可能感興趣的文章:
  • C# Linq讀取XML文件的實(shí)例
  • c#使用linq技術(shù)創(chuàng)建xml文件的小例子
  • C# LINQ to XML應(yīng)用介紹
  • Linq to XML 用一句話讀出RSS文章列表代碼
  • asp.net Linq to Xml學(xué)習(xí)筆記
  • LINQ to XML的編程基礎(chǔ)
  • asp.net Linq To Xml上手Descendants、Elements遍歷節(jié)點(diǎn)
  • 使用linq to xml修改app.config示例(linq讀取xml)

標(biāo)簽:岳陽(yáng) 福州 西寧 紅河 湖州 宣城 西藏 衢州

巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《解析linq to xml操作XML的示例分析》,本文關(guān)鍵詞  解析,linq,xml,操作,XML,的,;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問(wèn)題,煩請(qǐng)?zhí)峁┫嚓P(guān)信息告之我們,我們將及時(shí)溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無(wú)關(guān)。
  • 相關(guān)文章
  • 下面列出與本文章《解析linq to xml操作XML的示例分析》相關(guān)的同類信息!
  • 本頁(yè)收集關(guān)于解析linq to xml操作XML的示例分析的相關(guān)信息資訊供網(wǎng)民參考!
  • 推薦文章
    主站蜘蛛池模板: 肉色薄丝脚交一区二区| 免费啪啪网| 欧亚专线欧洲s码wmy不知所| 乳女教师欲乱动漫无修版动画| 一夲道无码专区av无码A片| 成人亚洲精品一区二区三区嫩花 | 99re6在这里只有精品6| 亚洲综合久久无码欧美网站| 日本一卡二卡新区无人区| 精品无人无码乱码毛片国产| Av偷拍一区二区97色伦综合| 铁岭县| 成人免费无码大片a毛片换腧| 老师你的好小好紧好湿好爽| 525tv春色直播| 黑人的太大太爽了我受不了了| 花蝴蝶在线高清免费01| 丰满少妇在线观看BD| 黄色一级片段| 边吃奶边插下面| 69人妻精品丰满熟女区| bdsmtorture女囚夹乳| 福利姬萌白酱| a级性生活片| 我的yin荡高日记H小说| 美女操视频| jizz农村野外jizz农民| 少妇婬荡呻吟久久久久久福利姬| 男男高H怀孕生子产乳文| 男女啪啪激烈网站| 大尺度车震| CHINESE粗口篮球体育生| 插出白浆视频| 日本三级韩国三级韩级在线观看| 日韩福利片午夜在线观看资源| 媚药痴汉| 一级片免费在线观看| 被舔的好舒服| 吻戏激烈娇喘吃奶摸下动态图| 草人视频| 欧洲性xxx|