亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 編程 > C# > 正文

基于C#中XmlReader讀取Xml的深入分析

2020-01-24 03:18:17
字體:
來源:轉載
供稿:網友
XmlDocument和XElement在讀取Xml時要將整個Xml文檔放到內存中去操作,這樣做操作簡單,但是很費內存,而在有些場景下我們必須考慮盡可能節省內存.這時候就該XmlReader和XmlWriter出場了。
XmlReader讀取Xml需要通過Read()實例方法,不斷讀取Xml文檔中的聲明,節點開始,節點內容,節點結束,以及空白等等,直到文檔結束,Read()方法返回false。
如下讀取Xml內容實例代碼和注釋說明
復制代碼 代碼如下:

using System;
using System.Collections.Generic;
using System.Text;
using System.Xml;
using System.IO;

namespace UseXmlReader
{
    class Program
    {
        static void Main(string[] args)
        {
            //聲明StringReader傳入Xml文本,作為XmlReader.Create的參數
            using (StringReader strRdr = new StringReader(@"<?xml version=""1.0"" encoding=""utf-8"" ?>
<root>
    <cat color=""white"">I'm a Cat</cat>
    <dog color=""yellow""/>
</root>"))
            {
                //通過XmlReader.Create靜態方法創建XmlReader實例
                using (XmlReader rdr = XmlReader.Create(strRdr))
                {
                    //循環Read方法直到文檔結束
                    while (rdr.Read())
                    {
                        Console.WriteLine("rdr.NodeType = " + rdr.NodeType);
                        //如果是開始節點
                        if (rdr.NodeType == XmlNodeType.Element) {
                            //通過rdr.Name得到節點名
                            string elementName = rdr.Name;

                            Console.WriteLine(elementName + " element start");
                            if (elementName == "root") {

                            }
                            //讀取到cat元素 這時rdr.Read()讀取到的內容為<cat color="white">
                            else if (elementName == "cat")
                            {
                                //可以通過中括號獲得屬性值
                                string colorVal = rdr["color"];
                                Console.WriteLine("/tcat's color is " + colorVal);

                                //讀取到節點內文本內容
                                if(rdr.Read()) {
                                    //通過rdr.Value獲得文本內容
                                    Console.WriteLine("/t cat said:" + rdr.Value);
                                }
                            }
                        }
                        else if (rdr.NodeType == XmlNodeType.EndElement)
                        {
                            //在節點結束時也可以通過rdr.Name獲得節點名字
                            string elementName = rdr.Name;
                            Console.WriteLine(elementName + " element end");
                        }
                    }
                }
            }

            Console.Read();
        }
    }
}
如果覺得代碼不明白,下面是一張讀取順序圖,標明了讀取順序號和每次讀取的內容,如下圖所示:



從圖中可以看到XmlReader在讀取這段Xml時:
第1次Read()讀取的是Xml文檔聲明部分
第2次Read()讀取的是聲明后的空白
第3次Read()讀取的是根節點root的開始標簽
第4次Read()讀取的是根節點開始后的空白
第5次Read()讀取的是cat節點的開始部分,從左尖括號到右尖括號包括該節點的屬性
第6次讀取的是cat節點的內容
第7次讀取的是cat節點的結束標簽
第8次讀取的是cat節點結束標簽后的空白
第9次讀取的是dog節點的開始部分,注意是從左尖括號開始到結束斜杠之前
第10次讀取的是dog標簽的結束/>
第11次讀取的是dog標簽結束后的空白
第12次讀取的是root的結束標簽
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
欧美中文字幕在线视频| 久久久久久国产精品| 亚洲国产精品成人av| 91久久精品国产91性色| 久久国产精品视频| 久久人91精品久久久久久不卡| 欧美另类在线观看| 在线日韩欧美视频| 欧美激情一二区| 欧洲成人午夜免费大片| 国产日产欧美精品| 91精品久久久久| 久久久99久久精品女同性| 欧美日韩性视频在线| 国产91在线高潮白浆在线观看| 日产精品久久久一区二区福利| 亚洲qvod图片区电影| 日韩精品欧美激情| 国内偷自视频区视频综合| 色综合伊人色综合网| 欧美最猛性xxxxx(亚洲精品)| 国产精品一区二区三| 久久99久国产精品黄毛片入口| 日韩中文字幕在线视频| 欧美大奶子在线| 欧洲成人免费aa| 亚洲欧美日韩国产成人| 成人自拍性视频| 欧美午夜视频在线观看| 亚洲电影免费在线观看| 国产精品日韩电影| 久久人人爽人人爽人人片av高清| 欧美激情久久久久久| 狠狠躁夜夜躁人人躁婷婷91| 久久久久亚洲精品| 亚洲精品久久久一区二区三区| 日韩激情第一页| 欧美一区在线直播| 亚洲天堂av女优| 成人免费视频在线观看超级碰| 国产精品亚洲片夜色在线| 欧美做受高潮电影o| 国产精品永久免费观看| 久久久久久久国产精品| 全亚洲最色的网站在线观看| 亚洲国产精品人久久电影| 97视频在线观看成人| 日韩高清av一区二区三区| 亚洲综合成人婷婷小说| 欧美精品在线观看91| 中文字幕亚洲欧美一区二区三区| 2020国产精品视频| 亚洲欧美日韩第一区| 亚洲免费电影一区| 国产精品福利无圣光在线一区| 色综合久久精品亚洲国产| 中文字幕亚洲一区在线观看| 亚洲国产欧美一区二区丝袜黑人| 日韩高清中文字幕| 国产亚洲欧洲黄色| 一区二区三区天堂av| 亚洲精品小视频在线观看| 久久99亚洲热视| 中文字幕日本欧美| 欧美性猛交丰臀xxxxx网站| 国产精品中文字幕在线观看| 红桃视频成人在线观看| 欧美高清电影在线看| 91精品免费看| 成人免费福利视频| 亚洲黄色在线观看| 久久久这里只有精品视频| 亚洲免费一在线| 精品亚洲国产视频| 欧美色视频日本版| 日本aⅴ大伊香蕉精品视频| 欧美激情2020午夜免费观看| 亚洲欧美一区二区三区在线| 久热精品视频在线| 91免费观看网站| 亚洲国产精品一区二区三区| 欧美激情视频播放| 91精品视频在线| 亚洲第一页中文字幕| 精品中文字幕在线2019| 久久久欧美一区二区| 日韩精品在线观看一区二区| 一本色道久久综合狠狠躁篇怎么玩| 日韩av在线看| 亚洲国产精品高清久久久| 亚洲精品wwww| 最近2019中文字幕第三页视频| 国产亚洲视频中文字幕视频| 美乳少妇欧美精品| 中文字幕亚洲色图| 精品国产欧美成人夜夜嗨| zzijzzij亚洲日本成熟少妇| 在线观看欧美www| 日本亚洲欧洲色α| 日韩高清电影好看的电视剧电影| 国产视频精品xxxx| 欧美日韩亚洲视频一区| 国产美女精品免费电影| 欧洲成人性视频| 欧美乱人伦中文字幕在线| 国产精品亚洲综合天堂夜夜| 伊人久久精品视频| 欧美精品在线观看91| 亚洲精品久久7777777| 亚洲一区二区中文| 91爱视频在线| 国产成人一区二区三区小说| 国产日韩一区在线| 亚洲天堂av女优| 亲爱的老师9免费观看全集电视剧| 欧美在线一级va免费观看| 久久久女人电视剧免费播放下载| 日韩欧美精品免费在线| 亚洲欧美日韩视频一区| 欧美超级免费视 在线| 国产精品你懂得| 九九视频直播综合网| 亚洲电影免费观看高清完整版在线观看| 亚洲欧美精品suv| 日本中文字幕不卡免费| 日日摸夜夜添一区| 亚洲情综合五月天| 色诱女教师一区二区三区| 亚洲国产成人爱av在线播放| 青青草99啪国产免费| 欧美日韩精品在线| 亚洲高清色综合| 亚洲精品色婷婷福利天堂| 欧美日韩国产中文精品字幕自在自线| 日韩av成人在线观看| 亚洲欧美成人一区二区在线电影| 久久久天堂国产精品女人| 成人网在线免费看| 亚洲精品一区av在线播放| 国产国语刺激对白av不卡| 亚洲欧美成人在线| 欧美精品在线观看91| 国产亚洲欧美日韩一区二区| 欧美做爰性生交视频| 久久久久国产精品免费网站| 日韩在线观看网站| 日韩成人在线网站| 红桃av永久久久| 国产亚洲精品成人av久久ww| 亚洲毛片在线看| 国产精品美女主播在线观看纯欲| 日韩美女毛茸茸| 国产成人免费av电影| 亚洲国产成人久久综合一区| 欧美日韩在线影院| 一区二区在线免费视频| 亚洲国产精品福利| 久久久久久久久综合| 日本19禁啪啪免费观看www| 亚洲欧美日韩天堂| 色与欲影视天天看综合网| 久久综合88中文色鬼| 亚洲天堂成人在线| 久久久av电影|