SQL Server 2000 中的 XML 資料 (ADO .NET)
Microsoft SQL Server 2000 引進了擷取資料時對 XML 功能的支援。 為了讓您直接從 SQL Server 2000 傳回 XML 資料流,SQL Server 的 .NET Framework 資料提供者的 SqlCommand 物件中會具有 ExecuteXmlReader 方法。 ExecuteXmlReader 會傳回 System.Xml.XmlReader 物件,其中會以 SqlCommand 指定的 SQL 陳述式結果填入。 如需 XmlReader 的詳細資訊,請參閱 XmlReader 類別。 ExecuteXmlReader 僅可與將結果當做 XML 資料傳回的陳述式搭配使用,例如,包括 SQL Server 2000 FOR XML 子句的陳述式,如下列範例所示。
Dim command As SqlCommand = New SqlCommand( _
"SELECT * FROM Customers FOR XML AUTO, ELEMENTS", connection)
Dim reader As System.Xml.XmlReader = command.ExecuteXmlReader()
SqlCommand command = new SqlCommand(
"SELECT * FROM Customers FOR XML AUTO, ELEMENTS", connection);
System.Xml.XmlReader reader = command.ExecuteXmlReader();
DataSet 也可以用來將關聯式資料撰寫為 XML,並可與 XmlDataDocument 進行同步處理,以提供對記憶體中單一資料集的即時關聯式及階層式檢視。 如需詳細資訊,請參閱 從 DataAdapter 填入 DataSet (ADO.NET) 及 在 DataSet 中使用 XML (ADO.NET)。
如果無需使用 DataSet 對資料進行記憶體中的關聯式檢視,ExecuteXmlReader 方法也很適用於擷取 XML 資料,特別是大量資料。 因為 ExecuteXmlReader 是資料流形式的 API,所以它無需擷取及快取所有資料後,再將其公開到呼叫端,使用 DataSet 將關聯式資料轉換為 XML 時也是一樣。
關閉 XmlReader
完成使用 XmlReader 物件後,請務必呼叫 Close 方法。 XmlReader 開啟時,Connection 只能供該 XmlReader 使用。 必須等到原始 XmlReader 關閉後,才能執行 Connection 的任何命令,包括建立其他 XmlReader 或 DataReader。