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 u***mlreader
//讀取到cat元素 這時rdr.read()讀取到的內容為
else if (elementname == "cat")
} }
else if (rdr.nodetype == xmlnodetype.endelement)
} }
} 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的結束標籤
本文標題: 基於c#中xmlreader讀取xml的深入分析
本文位址:
基於C 實現讀取指定路徑檔案
電腦配置 window10,64位作業系統,基於x64的處理器,microsoft visual studio community 2019 version 16.4.5 實現方法 使用 boost filessystem 包。使用 vcpkg 安裝方法 vcpkg.exe install boos...
C 中XML的讀取
本文主要介紹在c 中有關xml的讀取,寫入操作。1.xml的內容如下 xml version 1.0 encoding utf 8 root title settings id 0 name 顯示文字 歡迎您!智慧型服務,互動體驗.settings settings id 1 name 字型 微軟雅...
C 讀取EXCEL中數字無法讀取的方法
今天碰到這問題 看了這個才解決 無法讀取excel中的資料單元格。有資料,但是讀出來全是空值。解決方法 1.在匯入資料連線字串中,將imex 1加入,provider microsoft.jet.oledb.4.0 data source c data.xls extended properties...