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

首頁 > 編程 > C# > 正文

簡介C#讀取XML的兩種方式

2020-01-24 03:34:43
字體:
來源:轉載
供稿:網友

XML作用

    對于XML,想必各位都比較了解,我也就不用費筆墨來描述它是什么了,我想在未來的Web開發中XML一定會大放異彩,XML是可擴展標記語言,使用它企業可以制定一套自己的數據格式。用于Internet的數據傳輸,我想,這是XML對于我們這些程序員最誘人的地方!

    我們今天的主題不是論述XML的好處,而是討論在C#中如何使用XML。下面我們來了解一下使用程序訪問XML的一些基礎理論知識。

訪問的兩種模型:

    在程序中訪問進而操作XML文件一般有兩種模型,分別是使用DOM(文檔對象模型)和流模型,使用DOM的好處在于它允許編輯和更新XML文檔,可以隨機訪問文檔中的數據,可以使用XPath查詢,但是,DOM的缺點在于它需要一次性的加載整個文檔到內存中,對于大型的文檔,這會造成資源問題。流模型很好的解決了這個問題,因為它對XML文件的訪問采用的是流的概念,也就是說,任何時候在內存中只有當前節點,但它也有它的不足,它是只讀的,僅向前的,不能在文檔中執行向后導航操作。雖然是各有千秋,但我們也可以在程序中兩者并用實現優劣互補嘛,呵呵

一、DOM文檔對象模型操作

復制代碼 代碼如下:

using System.Xml;

XmlDocument xml=new XmlDocument();//初始化一個xml實例
xml.Load(path);//導入指定xml文件
xml.Load(HttpContext.Current.Server.MapPath("~/file/bookstore.xml"));XmlNode root=xml.SelectSingleNode("/root");//指定一個節點
XmlNodeList childlist=root.ChildNodes;//獲取節點下所有直接子節點
XmlNodeList nodelist=xml.SelectNodes("/Root/News");//獲取同名同級節點集合string id=node.Attributes["id"].Value;//獲取指定節點的指定屬性值
string content=node.InnerText;//獲取指定節點中的文本
root.HasChildNodes;//判斷該節點下是否有子節點

1.XmlDocument類的屬性

   XmlDocument類的屬性及說明如下表所示。

屬性

說明

Attributes

當前節點的屬性集合

BaseURI

當前節點的基URI

ChildNodes

節點的所有子節點

DocumentElement

文檔的根

DocumentType

DOCTYPE 聲明的節點

FirstChild

節點的第一個子節點

HasChildNodes

是否有任何子節點

Implementation

獲取當前文檔的 XmlImplementation對象

InnerText

節點包含的所有文本內容

InnerXml

節點所包含的所有XML內容

IsReadOnly

當前節點是否是只讀的

Item

獲取指定的子元素

LastChild

最后一個子節點

LocalName

獲取節點的本地名稱

Name

獲取節點的限定名

NamespaceURI

獲取該節點的命名空間 URI

NameTable

獲取與此實現關聯的 XmlNameTable

NextSibling

獲取緊接在該節點之后的節點

NodeType

獲取當前節點的類型

OuterXml

獲取表示此節點及其所有子節點的標記

OwnerDocument

獲取當前節點所屬的 XmlDocument

ParentNode

獲取該節點(對于可以具有父級的節點)的父級

Prefix

獲取或設置該節點的命名空間前綴

PreserveWhitespace

獲取或設置一個值,該值指示是否在元素內容中保留空白

PreviousSibling

獲取緊接在該節點之前的節點

SchemaInfo

返回節點的后架構驗證信息集 (PSVI)

Schemas

獲取或設置與此 XmlDocument 關聯的 XmlSchemaSet 對象

Value

獲取或設置節點的值

XmlResolver

設置 XmlResolver 以用于解析外部資源

  2.XmlDocument類的方法

   XmlDocument類的方法及說明如下表所示。

方法

說明

AppendChild

將指定的節點添加到該節點的子節點列表的末尾

CreateAttribute

創建具有指定名稱的 XmlAttribute

CreateCDataSection

創建包含指定數據的 XmlCDataSection

CreateComment

創建包含指定數據的 XmlComment

CreateDocumentFragment

創建 XmlDocumentFragment

CreateDocumentType

返回新的 XmlDocumentType 對象

CreateElement

創建 XmlElement

CreateEntityReference

創建具有指定名稱的 XmlEntityReference

CreateNavigator

創建一個用于導航此文檔的新 XPathNavigator 對象

CreateNode

創建 XmlNode

CreateProcessingInstruction

創建一個具有指定名稱和數據的 XmlProcessingInstruction

CreateSignificantWhitespace

創建一個 XmlSignificantWhitespace 節點

CreateTextNode

創建具有指定文本的 XmlText

CreateWhitespace

創建一個 XmlWhitespace 節點

CreateXmlDeclaration

創建一個具有指定值的 XmlDeclaration 節點

GetElementById

獲取具有指定 ID 的 XmlElement

GetElementsByTagName

返回一個 XmlNodeList ,它包含與指定名稱匹配的所有元素的列表

GetNamespaceOfPrefix 

查找當前節點范圍內離給定的前綴最近的 xmlns 聲明,并返回聲明中的命名空間 URI

GetPrefixOfNamespace 

查找當前節點范圍內離給定的命名空間 URI 最近的 xmlns 聲明,并返回聲明中定義的前綴

GetType

獲取當前實例的 Type

ImportNode

將節點從另一個文檔導入到當前文檔

InsertAfter

將指定的節點緊接著插入指定的引用節點之后

InsertBefore

將指定的節點緊接著插入指定的引用節點之前

Load

加載指定的 XML 數據

LoadXml

從指定的字符串加載 XML 文檔

Normalize 

將XmlText 節點都轉換成“正?!毙问?/P>

PrependChild 

將指定的節點添加到該節點的子節點列表的開頭

ReadNode

根據 XmlReader 中的信息創建一個 XmlNode 對象。讀取器必須定位在節點或屬性上

RemoveAll 

移除當前節點的所有子節點和/或屬性

RemoveChild 

移除指定的子節點

ReplaceChild 

用新節點替換舊節點

Save

將 XML 文檔保存到指定的位置

SelectNodes 

選擇匹配XPath 表達式的節點列表

SelectSingleNode 

選擇匹配 XPath 表達式的第一個 XmlNode

Supports 

測試 DOM 實現是否實現特定的功能

Validate

驗證 XmlDocument 是不是 Schemas 屬性中包含的 XML 架構定義語言 (XSD) 架構。

WriteContentTo

將 XmlDocument 節點的所有子級保存到指定的 XmlWriter 中

WriteTo

將 XmlDocument 節點保存到指定的 XmlWriter

  下面對常用的方法進行介紹。

  (1)Load方法

  該方法可以從一個字符串指定的XML文件或是一個流對象、一個TextReader對象、一個XmlReader對象導入XML數據。

  (2)LoadXml方法

  該方法完成從一個特定的XML文件導入XML數據的功能。默認情況下,LoadXml 方法既不保留空白,也不保留有意義的空白。此方法不執行 DTD 或架構驗證。

  (3)Save方法

  該方法將XML數據保存到一個XML文件或是一個流對象、一個TextReader對象、一個XmlReader對象導入XML數據。

  3.XmlDocument類的事件

    XmlDocument類的事件及說明如下表所示。

                       表   XmlDocument類的事件及說明

事件

說明

NodeChanged

當屬于該文檔的節點的 Value已被更改時發生

NodeChanging

當屬于該文檔的節點的 Value 將被更改時發生

NodeInserted

當屬于該文檔的節點已被插入另一個節點時發生

NodeInserting

當屬于該文檔的節點將被插入另一個節點時發生

NodeRemoved

當屬于該文檔的節點已被從其父級移除時發生

NodeRemoving

當屬于該文檔的節點將被從文檔中移除時發生

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

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
国产精品爱啪在线线免费观看| 欧美成人黄色小视频| 久久久中精品2020中文| 欧美一级大片在线免费观看| 国产九九精品视频| 久久久国产一区二区| 国产91在线播放精品91| 久久视频在线播放| 亚洲最大av网| 91成人性视频| 亚洲精品久久久久中文字幕二区| 国产精品一区二区久久久| 成人福利在线视频| 欧美黑人国产人伦爽爽爽| 神马久久久久久| 亚洲美女自拍视频| 欧美丝袜一区二区| 欧美性xxxxx极品娇小| 久久国产精品久久久久久久久久| 日韩久久免费电影| 亚洲综合小说区| 国产亚洲精品久久久久久| 久久成人av网站| 国产精品久久久久久久久久久不卡| 日韩精品免费看| 热门国产精品亚洲第一区在线| 国产精品扒开腿爽爽爽视频| 亚洲免费伊人电影在线观看av| 日韩av免费看网站| 丝袜一区二区三区| 国产成人精品日本亚洲专区61| xxxx欧美18另类的高清| 国产福利精品在线| 欧美激情极品视频| 亚洲欧美综合另类中字| 欧美日韩亚洲天堂| 国产亚洲一区二区在线| 日韩一区二区三区国产| 色婷婷综合久久久久中文字幕1| 亚洲xxxxx性| 亚洲人成欧美中文字幕| 国产自产女人91一区在线观看| 久久久亚洲欧洲日产国码aⅴ| 97免费视频在线播放| 精品久久久久久中文字幕| 国产精品久久综合av爱欲tv| 亚洲91精品在线| 欧美激情xxxxx| 91日韩在线播放| 欧美成年人网站| 精品无人区乱码1区2区3区在线| 亚洲欧美资源在线| www亚洲欧美| 欧美成人激情视频| 久久97精品久久久久久久不卡| 亚洲欧美中文日韩在线| 久热国产精品视频| 亚洲成色999久久网站| 欧美一区二区三区图| 欧美日韩国产激情| 欧洲中文字幕国产精品| 日韩黄色av网站| 亚洲中国色老太| 97**国产露脸精品国产| 欧美性猛交xxxxx水多| 久久精品视频在线| 国产精品免费福利| 91精品国产自产在线观看永久| 久久精品中文字幕一区| 欧美国产中文字幕| 日韩精品一区二区视频| 久久久www成人免费精品| 茄子视频成人在线| 国产精品视频免费观看www| 亚洲成人国产精品| 亚洲日本成人网| 日韩av电影手机在线观看| 国产精品电影网站| 91精品一区二区| 亚洲精品色婷婷福利天堂| 日韩欧美亚洲国产一区| 日韩电影在线观看免费| 亚洲色图色老头| 91免费福利视频| 欧美在线视频免费| 日韩免费av片在线观看| 国产精品男女猛烈高潮激情| 日韩精品视频在线观看网址| 国模精品一区二区三区色天香| 国产成人精品免费久久久久| 亚洲精品久久久久国产| 欧美精品国产精品日韩精品| 国产精品电影久久久久电影网| 日韩中文字幕不卡视频| 麻豆一区二区在线观看| 久久久久久久香蕉网| 7m精品福利视频导航| 97精品国产97久久久久久免费| 欧美视频在线观看 亚洲欧| 欧美日韩国产成人在线| 欧美成年人视频网站| 中文字幕欧美精品在线| 日韩电视剧在线观看免费网站| 国产精品国产三级国产aⅴ浪潮| 欧美裸体xxxx极品少妇| 国产精品久久一区| 亚洲码在线观看| 国产激情视频一区| 综合欧美国产视频二区| 国产精品一区二区在线| 国产精品成人观看视频国产奇米| 亚洲风情亚aⅴ在线发布| 精品亚洲一区二区三区| zzjj国产精品一区二区| 精品久久久中文| 一区二区三区天堂av| 欧美性猛交xxxx乱大交| 91av在线视频观看| 国产精品吹潮在线观看| 亚洲精品国产精品国产自| 国产精品男人爽免费视频1| 91精品免费久久久久久久久| 亚洲美女激情视频| 中文字幕精品视频| 亚洲精品www久久久| 亚洲欧美日韩国产中文专区| 亚洲专区在线视频| 麻豆乱码国产一区二区三区| 亚洲视频在线视频| 国产精品jvid在线观看蜜臀| 亚洲一区二区日本| 欧美性猛交xxxx乱大交蜜桃| 日韩欧美国产视频| 国产一区二区av| 国产精品丝袜高跟| 国产精品狼人色视频一区| 色噜噜国产精品视频一区二区| 欧美精品电影在线| 欧美与欧洲交xxxx免费观看| 色婷婷av一区二区三区在线观看| 97视频在线观看视频免费视频| 成人黄色av免费在线观看| 欧美在线观看视频| 精品一区二区三区四区在线| 日韩在线一区二区三区免费视频| 欧美肥臀大乳一区二区免费视频| 欧美在线不卡区| 午夜精品一区二区三区在线视| 8x海外华人永久免费日韩内陆视频| 欧美亚洲免费电影| 亚洲白虎美女被爆操| 精品福利在线观看| 国产精品久久久久久久美男| 色偷偷91综合久久噜噜| 亚洲欧美在线免费| 尤物精品国产第一福利三区| 麻豆国产va免费精品高清在线| 国产视频在线观看一区二区| 久久久国产精品一区| 国产精品三级久久久久久电影| 91欧美精品午夜性色福利在线| 国产精品久久久久久久久男| 97人人做人人爱| 国产精品香蕉国产|