傳輸ADO對象結構化數(shù)據(jù)詳細說明
本文主要講述ADO對象,怎樣創(chuàng)建ADO對象項目。這些內(nèi)容都是一些門戶網(wǎng)站和技術論壇找到的,中間可能有不少錯誤是我沒有挑出的,歡迎大家指正,所以大家有communitysever的可以從里面獲得然后反編譯為自己所用,沒有的就到網(wǎng)絡上搜下吧,有許多資源呢!
.NET提供了一個XmlDataDocument類,它擴展了XmlDocument類。XmlDocument類不僅可以將XML文檔載入內(nèi)存的文檔樹中,還可以通過XmlDataDocument對象的DataSet屬性存儲、獲取和操縱這些結構化的數(shù)據(jù)。
DataSet對象在傳輸時是以XML流的形式,而不是用ADO中的Recordset對象的COM對象的形式,這使得在異構系統(tǒng)間傳遞數(shù)據(jù)更為方便。DataSet對象具有非常多的XML操作特性,通過它讀取XML數(shù)據(jù)文件或數(shù)據(jù)流,從而將樹型層次結構的XML數(shù)據(jù)轉(zhuǎn)換為關系型數(shù)據(jù)結構的形式。
對于樹型層次結構的XML數(shù)據(jù),要使用DOM對象模型來描述和操縱;對關系表要使用表(DataTable)、列(DataColumn)、行(DataRow)等對象來描述和操縱。這樣,就可以使用.NET提供的DataSet對象和XmlDataDocument對象從二個不同的角度操縱內(nèi)存中的同一數(shù)據(jù)。
要對XML的數(shù)據(jù)集進行操作,首先要加載XML文件。ADO對象有XSD Schema數(shù)據(jù)模式文件、XML無內(nèi)聯(lián)模式數(shù)據(jù)文件、XML內(nèi)聯(lián)模式數(shù)據(jù)文件等類型。讀取XSD Schema數(shù)據(jù)模式文件可以使用DataSet對象的ReadXmlSchema方法從XSD文件或流中導入數(shù)據(jù)。#t#
ReadXmlSchema方法有多個重載版本,可以接受Stream、String、Textreader和XmlReader對象。通過這些對象中的任意一個可以告訴ReadXmlSchema方法從哪個XSD Schema文件或流中獲取Schema。
這種方法只能獲取XML數(shù)據(jù)的組織模式,而不能獲取XML數(shù)據(jù)。要讀取XML數(shù)據(jù)文件可以使用DataSet對象的ReadXml方法從XML文件或流中導入數(shù)據(jù)。在讀取的XML數(shù)據(jù)文件中,如果包含Schema數(shù)據(jù)組織方式,則這種方法可以在讀取ADO對象的同時使用內(nèi)聯(lián)的XSD Schema獲取XML數(shù)據(jù)組織方式;如果在XML文件中不存在內(nèi)聯(lián)的Schema模式,則ReadXml方法會根據(jù)XML數(shù)據(jù)嘗試推斷的方法來生成Schema;如果在給定的XML數(shù)據(jù)中無法推斷出Schema,則會拋出異常。例如: