




版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領
文檔簡介
1、第10章 .NET中的XML編程,10.1 使用流模式處理XML,使用.NET框架的System.XML名稱空間中包含的XMLTextReader類從XML文件中快速讀取數(shù)據(jù)。 通過XmlTextReader類中的屬性NodeType,可以知道其節(jié)點的節(jié)點類型。 XmlNodeReader 可提供對 XmlNode 中的 XML 數(shù)據(jù)的快速、非緩存和只進的訪問。它能夠讀取整個 XML DOM 樹,或只從子樹讀取。 使用XmlTextWriter類創(chuàng)建XML文件,10.2 使用DOM處理XML,.NET Framework中DOM類的繼承結構,使用DOM加載及保存XML數(shù)據(jù),首先,初始化XmlD
2、ocument對象,例如: XmlDocument doc = new XmlDocument(); 然后,調(diào)用Load()方法加載文件、流、XmlReader對象或TextReader對象中的XML數(shù)據(jù),例如: doc.Load(C:BookData.xml); 或者調(diào)用LoadXml()方法加載字符串中的XML數(shù)據(jù),例如: doc.LoadXml( + Pride And Prejudice + ); 使用XmlDocument對象中的Save方法可以將XML數(shù)據(jù)保存到一個XML文件中或是一個流對象、一個TextWriter對象、一個XmlWriter對象中。 Save() 方法的語法如下
3、: XmlDocument.Save(filename | Stream | TextWriter | XmlWriter),使用DOM瀏覽XML,創(chuàng)建并使用一個XmlNode對象在XmlDocument對象中瀏覽、創(chuàng)建或修改節(jié)點。 通過使用XmlNode對象及其派生類的屬性,就可以返回有關XML源文檔內(nèi)容的信息。 要想引用XmlDocument對象中的單個節(jié)點,可以使用調(diào)用SelectSingleNode()函數(shù)的方法或使用XMLNode類的瀏覽屬性。 可以創(chuàng)建XmlElement對象來解析XmlDocument對象中的元素和屬性的信息。 XmlNodeList類表示XmlNode的有序集合
4、 可以使用XmlNamedNodeMap對象保存一個元素節(jié)點的屬性集合,創(chuàng)建新節(jié)點,步驟: 1、從XML數(shù)據(jù)源創(chuàng)建和加載XmlDocument對象 2、在原始文檔中定位新節(jié)點的插入位置 3、創(chuàng)建新節(jié)點,此節(jié)點可以使任何類型的節(jié)點。 4、把新節(jié)點添加到XmlDocument對象中,添加節(jié)點時調(diào)用的方法,XmlNode.AppendChild 添加到當前節(jié)點的子節(jié)點列表的末尾 XmlNode.InsertBefore 添加到緊接著插入指定的引用節(jié)點之前 XmlNode.InsertAfter 添加到緊接著插入指定的引用節(jié)點之后,修改和刪除節(jié)點,首先定位要操作的節(jié)點 通過設置XmlElement對象
5、的 InnerText屬性或通過調(diào)用XmlNode.ReplaceChild()方法替換整個節(jié)點的方式來修改節(jié)點值 也可以通過調(diào)用XmlElement.SetAttribute()方法來修改屬性節(jié)點。 要刪除XmlDocument對象中的節(jié)點,可以通過調(diào)用XmlNode.RemoveChild()方法來進行實現(xiàn)元素的移除, 如果要刪除屬性的話,我們可以通過調(diào)用XmlElement.RemoveAttribute()方法來實現(xiàn)屬性節(jié)點的移除 也可以通過調(diào)用XmlNode.RemoveAll()方法移除所有的子節(jié)點,,10.3 ADO.NET與 XML,ADO.NET是Microsoft Acti
6、veX Data Object(ADO,ActiveX數(shù)據(jù)對象)的改進。它是一個基于標準的程序設計模型,用于創(chuàng)建分布式的、數(shù)據(jù)共享的應用程序。 ADO.NET 是一系列與數(shù)據(jù)操作相關的類。它們提供:比 ADO 更靈活的數(shù)據(jù)訪問機制;為非連接環(huán)境設計的系統(tǒng)架構;支持 XML 的編程對象模型;一系列用來在 .NET 架構中訪問數(shù)據(jù)的類、結構以及枚舉器。 DATASET是分離存儲和使用關系型數(shù)據(jù)的基礎,它是一個容器,可以包含一個或多個數(shù)據(jù)表;而XML是DATASET中數(shù)據(jù)的標準格式。,XML與DATASET的關系,將XML數(shù)據(jù)加載到DataSet對象中,使用ReadXML從一個文件或者一個流加載數(shù)據(jù)
7、到數(shù)據(jù)集 簡化語法 Dataset對象.ReadXML(Stream | FileName | TextReader | XMLReader, XMLReadMode mode),將XML數(shù)據(jù)加載到DataSet對象中(續(xù)),XMLReadMode 定義讀取的內(nèi)容 ReadSchema 如果數(shù)據(jù)集中已經(jīng)存在一個結構,那么在內(nèi)嵌結構定義中的任何新表都會被添加到數(shù)據(jù)集 如果內(nèi)嵌結構定義中的表在數(shù)據(jù)集中已經(jīng)存在,會拋出異常 如果數(shù)據(jù)集不包含結構定義并且沒有內(nèi)嵌結構定義,則不加載任何數(shù)據(jù) IgnoreSchema 忽略內(nèi)嵌結構定義將復合數(shù)據(jù)集結構的數(shù)據(jù)加載 InferSchema 忽略內(nèi)嵌結構定義,根
8、據(jù)XML文件推斷一個新的結構,如果數(shù)據(jù)集中已經(jīng)存在結構定義,將新結構追加到數(shù)據(jù)集,然后加載數(shù)據(jù),將XML數(shù)據(jù)加載到DataSet對象中(續(xù)),DiffGram 讀DiffGram并將當前結構定義的數(shù)據(jù)添加到數(shù)據(jù)集 Fragment 讀取XML片斷并將數(shù)據(jù)追加到適當?shù)臄?shù)據(jù)集表,主要用于讀取直接從SQL Server 產(chǎn)生的XML數(shù)據(jù) Auto 如果數(shù)據(jù)集包含一個結構定義或者XML文件包含一個內(nèi)嵌的結構定義,使用ReadSchema選項 如果數(shù)據(jù)集與XML文檔都不包含一個結構定義,使用InferSchema選項 考慮到性能問題,不要使用Auto選項,將 DataSet 信息寫入文件或流,使用Wri
9、teXml方法將數(shù)據(jù)集的數(shù)據(jù)寫入到文件或流 使用WriteXml()方法的語法 Dataset對象.WriteXml (String filename | Stream stream | XmlWriter writer | TextWriter writer, XmlWriteMode mode ),將 DataSet 信息寫入文件或流(續(xù)),XmlWriteMode 指定保存的內(nèi)容 IgnoreSchema 僅包含數(shù)據(jù)集數(shù)據(jù)的 XML文件,不包括結構定義,如果數(shù)據(jù)集為空,那么不創(chuàng)建文件 WriteSchema 僅包含數(shù)據(jù)集結構定義的 XML 文件,如果數(shù)據(jù)集不包含結構信息,則不創(chuàng)建文件 D
10、iffGram 創(chuàng)建一個包含數(shù)據(jù)集原始數(shù)據(jù)與當前數(shù)據(jù)的XML 文件,使用DATASET讀/寫XML模式,1、ReadXmlSchema 方法 作用:將 XML 模式讀入 DataSet 語法: Dataset對象.ReadXMLSchema (Stream | FileName | TextReader | XMLReader) 2、WriteXmlSchema 方法 作用:將數(shù)據(jù)集的結構定義寫入文件或流 語法: Dataset對象.WriteXmlSchema ( String filename | Stream stream | TextWriter writer | XmlWriter writer),DataSet 對象基于 XML 的其他方法,1、使用數(shù)據(jù)集的GetXmlSchema方法 作用:以字符串的形式返回 DataSet 的 XML 表示形式的 XSD,語法
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 農(nóng)機配件動態(tài)模擬在農(nóng)機維修策略制定中的應用考核試卷
- 健身器材行業(yè)市場細分領域用戶數(shù)據(jù)價值挖掘考核試卷
- 印刷品設計軟件與工具考核試卷
- 廚房易干地毯考核試卷
- 績效工資實施方案
- 基于需求側(cè)改革的管理思維
- 2025年資產(chǎn)管理新規(guī)
- 特警安全教育
- 武漢國企福利活動方案
- 植樹健康活動方案
- 生產(chǎn)安全獎勵和處罰規(guī)定模版(3篇)
- 2024年度交通安全宣傳教育基地共建合作協(xié)議3篇
- 建筑廢棄物回收措施
- 條形碼授權協(xié)議書(2篇)
- GB/T 30661.10-2024輪椅車座椅第10部分:體位支撐裝置的阻燃性要求和試驗方法
- 《產(chǎn)后出血預防與處理指南(2023)》解讀課件
- 賽事安全應急預案
- 胰島素皮下注射解讀
- 安全不放假暑假安全教育主題班會
- 紡織行業(yè)人力資源管理考核試卷
- 2024至2030年中國疫苗行業(yè)發(fā)展現(xiàn)狀調(diào)查及市場分析預測報告
評論
0/150
提交評論