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