欧美性猛交XXXX免费看蜜桃,成人网18免费韩国,亚洲国产成人精品区综合,欧美日韩一区二区三区高清不卡,亚洲综合一区二区精品久久

打開(kāi)APP
userphoto
未登錄

開(kāi)通VIP,暢享免費電子書(shū)等14項超值服

開(kāi)通VIP
簡(jiǎn)介C#讀取XML的兩種方式
在程序中訪(fǎng)問(wèn)進(jìn)而操作XML文件一般有兩種模型,分別是使用DOM(文檔對象模型)和流模型,使用DOM的好處在于它允許編輯和更新XML文檔,可以隨機訪(fǎng)問(wèn)文檔中的數據,可以使用XPath查詢(xún)
XML作用
對于XML,想必各位都比較了解,我也就不用費筆墨來(lái)描述它是什么了,我想在未來(lái)的Web開(kāi)發(fā)中XML一定會(huì )大放異彩,XML是可擴展標記語(yǔ)言,使用它企業(yè)可以制定一套自己的數據格式。用于Internet的數據傳輸,我想,這是XML對于我們這些程序員最誘人的地方!
我們今天的主題不是論述XML的好處,而是討論在C#中如何使用XML。下面我們來(lái)了解一下使用程序訪(fǎng)問(wèn)XML的一些基礎理論知識。
訪(fǎng)問(wèn)的兩種模型:
在程序中訪(fǎng)問(wèn)進(jìn)而操作XML文件一般有兩種模型,分別是使用DOM(文檔對象模型)和流模型,使用DOM的好處在于它允許編輯和更新XML文檔,可以隨機訪(fǎng)問(wèn)文檔中的數據,可以使用XPath查詢(xún),但是,DOM的缺點(diǎn)在于它需要一次性的加載整個(gè)文檔到內存中,對于大型的文檔,這會(huì )造成資源問(wèn)題。流模型很好的解決了這個(gè)問(wèn)題,因為它對XML文件的訪(fǎng)問(wèn)采用的是流的概念,也就是說(shuō),任何時(shí)候在內存中只有當前節點(diǎn),但它也有它的不足,它是只讀的,僅向前的,不能在文檔中執行向后導航操作。雖然是各有千秋,但我們也可以在程序中兩者并用實(shí)現優(yōu)劣互補嘛,呵呵
一、DOM文檔對象模型操作
復制代碼 代碼如下:
using System.Xml;
XmlDocument xml=new XmlDocument();//初始化一個(gè)xml實(shí)例
xml.Load(path);//導入指定xml文件
xml.Load(HttpContext.Current.Server.MapPath("~/file/bookstore.xml"));XmlNode root=xml.SelectSingleNode("/root");//指定一個(gè)節點(diǎn)
XmlNodeList childlist=root.ChildNodes;//獲取節點(diǎn)下所有直接子節點(diǎn)
XmlNodeList nodelist=xml.SelectNodes("/Root/News");//獲取同名同級節點(diǎn)集合string id=node.Attributes["id"].Value;//獲取指定節點(diǎn)的指定屬性值
string content=node.InnerText;//獲取指定節點(diǎn)中的文本
root.HasChildNodes;//判斷該節點(diǎn)下是否有子節點(diǎn)
1.XmlDocument類(lèi)的屬性
XmlDocument類(lèi)的屬性及說(shuō)明如下表所示。
屬性
說(shuō)明
Attributes
當前節點(diǎn)的屬性集合
BaseURI
當前節點(diǎn)的基URI
ChildNodes
節點(diǎn)的所有子節點(diǎn)
DocumentElement
文檔的根
DocumentType
DOCTYPE 聲明的節點(diǎn)
FirstChild
節點(diǎn)的第一個(gè)子節點(diǎn)
HasChildNodes
是否有任何子節點(diǎn)
Implementation
獲取當前文檔的 XmlImplementation對象
InnerText
節點(diǎn)包含的所有文本內容
InnerXml
節點(diǎn)所包含的所有XML內容
IsReadOnly
當前節點(diǎn)是否是只讀的
Item
獲取指定的子元素
LastChild
最后一個(gè)子節點(diǎn)
LocalName
獲取節點(diǎn)的本地名稱(chēng)
Name
獲取節點(diǎn)的限定名
NamespaceURI
獲取該節點(diǎn)的命名空間 URI
NameTable
獲取與此實(shí)現關(guān)聯(lián)的 XmlNameTable
NextSibling
獲取緊接在該節點(diǎn)之后的節點(diǎn)
NodeType
獲取當前節點(diǎn)的類(lèi)型
OuterXml
獲取表示此節點(diǎn)及其所有子節點(diǎn)的標記
OwnerDocument
獲取當前節點(diǎn)所屬的 XmlDocument
ParentNode
獲取該節點(diǎn)(對于可以具有父級的節點(diǎn))的父級
Prefix
獲取或設置該節點(diǎn)的命名空間前綴
PreserveWhitespace
獲取或設置一個(gè)值,該值指示是否在元素內容中保留空白
PreviousSibling
獲取緊接在該節點(diǎn)之前的節點(diǎn)
SchemaInfo
返回節點(diǎn)的后架構驗證信息集 (PSVI)
Schemas
獲取或設置與此 XmlDocument 關(guān)聯(lián)的 XmlSchemaSet 對象
Value
獲取或設置節點(diǎn)的值
XmlResolver
設置 XmlResolver 以用于解析外部資源
2.XmlDocument類(lèi)的方法
XmlDocument類(lèi)的方法及說(shuō)明如下表所示。
方法
說(shuō)明
AppendChild
將指定的節點(diǎn)添加到該節點(diǎn)的子節點(diǎn)列表的末尾
CreateAttribute
創(chuàng )建具有指定名稱(chēng)的 XmlAttribute
CreateCDataSection
創(chuàng )建包含指定數據的 XmlCDataSection
CreateComment
創(chuàng )建包含指定數據的 XmlComment
CreateDocumentFragment
創(chuàng )建 XmlDocumentFragment
CreateDocumentType
返回新的 XmlDocumentType 對象
CreateElement
創(chuàng )建 XmlElement
CreateEntityReference
創(chuàng )建具有指定名稱(chēng)的 XmlEntityReference
CreateNavigator
創(chuàng )建一個(gè)用于導航此文檔的新 XPathNavigator 對象
CreateNode
創(chuàng )建 XmlNode
CreateProcessingInstruction
創(chuàng )建一個(gè)具有指定名稱(chēng)和數據的 XmlProcessingInstruction
CreateSignificantWhitespace
創(chuàng )建一個(gè) XmlSignificantWhitespace 節點(diǎn)
CreateTextNode
創(chuàng )建具有指定文本的 XmlText
CreateWhitespace
創(chuàng )建一個(gè) XmlWhitespace 節點(diǎn)
CreateXmlDeclaration
創(chuàng )建一個(gè)具有指定值的 XmlDeclaration 節點(diǎn)
GetElementById
獲取具有指定 ID 的 XmlElement
GetElementsByTagName
返回一個(gè) XmlNodeList ,它包含與指定名稱(chēng)匹配的所有元素的列表
GetNamespaceOfPrefix
查找當前節點(diǎn)范圍內離給定的前綴最近的 xmlns 聲明,并返回聲明中的命名空間 URI
GetPrefixOfNamespace
查找當前節點(diǎn)范圍內離給定的命名空間 URI 最近的 xmlns 聲明,并返回聲明中定義的前綴
GetType
獲取當前實(shí)例的 Type
ImportNode
將節點(diǎn)從另一個(gè)文檔導入到當前文檔
InsertAfter
將指定的節點(diǎn)緊接著(zhù)插入指定的引用節點(diǎn)之后
InsertBefore
將指定的節點(diǎn)緊接著(zhù)插入指定的引用節點(diǎn)之前
Load
加載指定的 XML 數據
LoadXml
從指定的字符串加載 XML 文檔
Normalize
將XmlText 節點(diǎn)都轉換成“正?!毙问?div style="height:15px;">
PrependChild
將指定的節點(diǎn)添加到該節點(diǎn)的子節點(diǎn)列表的開(kāi)頭
ReadNode
根據 XmlReader 中的信息創(chuàng )建一個(gè) XmlNode 對象。讀取器必須定位在節點(diǎn)或屬性上
RemoveAll
移除當前節點(diǎn)的所有子節點(diǎn)和/或屬性
RemoveChild
移除指定的子節點(diǎn)
ReplaceChild
用新節點(diǎn)替換舊節點(diǎn)
Save
將 XML 文檔保存到指定的位置
SelectNodes
選擇匹配XPath 表達式的節點(diǎn)列表
SelectSingleNode
選擇匹配 XPath 表達式的第一個(gè) XmlNode
Supports
測試 DOM 實(shí)現是否實(shí)現特定的功能
Validate
驗證 XmlDocument 是不是 Schemas 屬性中包含的 XML 架構定義語(yǔ)言 (XSD) 架構。
WriteContentTo
將 XmlDocument 節點(diǎn)的所有子級保存到指定的 XmlWriter 中
WriteTo
將 XmlDocument 節點(diǎn)保存到指定的 XmlWriter
下面對常用的方法進(jìn)行介紹。
(1)Load方法
該方法可以從一個(gè)字符串指定的XML文件或是一個(gè)流對象、一個(gè)TextReader對象、一個(gè)XmlReader對象導入XML數據。
(2)LoadXml方法
該方法完成從一個(gè)特定的XML文件導入XML數據的功能。默認情況下,LoadXml 方法既不保留空白,也不保留有意義的空白。此方法不執行 DTD 或架構驗證。
(3)Save方法
該方法將XML數據保存到一個(gè)XML文件或是一個(gè)流對象、一個(gè)TextReader對象、一個(gè)XmlReader對象導入XML數據。
3.XmlDocument類(lèi)的事件
XmlDocument類(lèi)的事件及說(shuō)明如下表所示。
表   XmlDocument類(lèi)的事件及說(shuō)明
事件
說(shuō)明
NodeChanged
當屬于該文檔的節點(diǎn)的 Value已被更改時(shí)發(fā)生
NodeChanging
當屬于該文檔的節點(diǎn)的 Value 將被更改時(shí)發(fā)生
NodeInserted
當屬于該文檔的節點(diǎn)已被插入另一個(gè)節點(diǎn)時(shí)發(fā)生
NodeInserting
當屬于該文檔的節點(diǎn)將被插入另一個(gè)節點(diǎn)時(shí)發(fā)生
NodeRemoved
當屬于該文檔的節點(diǎn)已被從其父級移除時(shí)發(fā)生
NodeRemoving
當屬于該文檔的節點(diǎn)將被從文檔中移除時(shí)發(fā)生
本站僅提供存儲服務(wù),所有內容均由用戶(hù)發(fā)布,如發(fā)現有害或侵權內容,請點(diǎn)擊舉報。
打開(kāi)APP,閱讀全文并永久保存 查看更多類(lèi)似文章
猜你喜歡
類(lèi)似文章
C#發(fā)現之旅第一講 C#-XML開(kāi)發(fā)
XML 文檔對象模型 (DOM)
通過(guò)DOM操作XML數據
C#發(fā)現之旅第十講 文檔對象模型
傳智播客:Dom模型 - habernate的日志 - 網(wǎng)易博客
XML - 報表數據的新大陸
更多類(lèi)似文章 >>
生活服務(wù)
分享 收藏 導長(cháng)圖 關(guān)注 下載文章
綁定賬號成功
后續可登錄賬號暢享VIP特權!
如果VIP功能使用有故障,
可點(diǎn)擊這里聯(lián)系客服!

聯(lián)系客服

欧美性猛交XXXX免费看蜜桃,成人网18免费韩国,亚洲国产成人精品区综合,欧美日韩一区二区三区高清不卡,亚洲综合一区二区精品久久