如何使用視覺化 C#.NET 將 XML 資料讀入資料集

請注意--重要:本文是以 Microsoft 機器翻譯軟體翻譯而成,且可能由 Microsoft Community 利用 Community Translation Framework技術或人工進行事後編修。翻譯過程並無專業譯者參與。Microsoft 同時提供使用者人為翻譯、機器翻譯及社群編修後的機器翻譯三種版本的文章,讓使用者可以依其使用語言使用知識庫中的所有文章。但是,所有翻譯文章都可能不盡完美,內容都可能出現詞彙、語意或文法上的錯誤。就翻譯內容之不正確或錯誤,或客戶因使用翻譯內容所產生的任何損害,微軟不負擔任何責任。Microsoft將依合理的商業努力不斷地更新機器翻譯軟體和工具,以期能為使用者提供更好的服務。

按一下這裡查看此文章的英文版本:311566
這份文件的 Microsoft Visual Basic.NET 版本,請參閱 309702.

這份文件的 Microsoft Visual C++ 的.NET 版本,請參閱 311570.

下列的 Microsoft.NET Framework 類別庫命名空間會參照這份文件:
  • System.Data
  • System.Data.SqlClient

在這項工作中

結論
本文將示範如何讀入的 ADO.NET資料集物件的可延伸標記語言 (XML) 資料。

back to the top

需求

下列清單概述了建議的硬體、 軟體、 網路基礎結構,以及您所需要的 service pack:
  • Microsoft Windows 2000 專業版、 Windows 2000 Server、 Windows 2000 進階伺服器或 Windows NT 4.0 伺服器
  • Microsoft Visual Studio.NET
本文假設您已熟悉下列主題:
  • Visual Studio.NET
  • ADO.NET 基礎和語法
  • XML 的基本原則
back to the top

技術說明

您可以使用ReadXml方法來將 XML 結構描述和資料讀入資料集。可以直接從檔案、資料流物件、 XmlWriter物件或TextWriter物件讀取 XML 資料。

您可以針對ReadXml的方法,使用其中一個多載方法的兩組視您的需求而定。第一組四個多載的方法採用單一參數。第二個一組四個多載的方法需要額外的參數 (XmlReadMode) 以及其中一個參數從第一組。

下列清單概述採用一個參數中的多載方法的第一個設定:
  • 請依照下列的程式碼會使用指定的檔案讀入資料集的 XML 結構描述和資料:
    Overloads Public Sub ReadXml(String)					
  • 請依照下列的程式碼會使用指定的TextReader ,XML 結構描述和資料讀入資料集TextReader被針對字元輸入。
    Overloads Public Sub ReadXml(TextReader)					
  • 請依照下列的程式碼會使用指定的System.IO.Stream ,XML 結構描述和資料讀入資料集資料流類別被針對輸入和輸出的位元組。
    Overloads Public Sub ReadXml(Stream)					
  • 請依照下列的程式碼會使用指定的XmlReader來讀入資料集的 XML 結構描述和資料。這個方法提供快速、 非快取、 順向存取 XML 資料符合全球資訊網協會 (W3C) XML 1.0 規格和 XML 規格中的命名空間。
    Overloads Public Sub ReadXml(XmlReader)					
請依照下列清單概述採取上述參數的其中一種XmlReadMode中的多載方法的第二組。XmlReadMode列舉型別會指定如何讀入資料集的 XML 資料和結構描述。
  • DiffGram。讀取 DiffGram 中,並將從 DiffGram 內,將變更套用至資料集
  • 片段。讀取包含內嵌的 XML 資料精簡 (XDR) 結構描述片段 (例如那些包含內置 XDR 結構描述的 Microsoft SQL Server 執行個體的結構描述執行 FOR XML 時所產生的) 的 XML 文件。
  • IgnoreSchema。會忽略任何內嵌結構描述,會將資料讀入 [現有的資料集結構描述。
  • InferSchema。會忽略任何內嵌結構描述、 推斷結構描述的資料,並載入資料。如果資料集已經包含結構描述, InferSchema會延伸目前的結構描述,加入至存在的資料表的資料行,並加入新的資料表,如果資料表不存在。
  • ReadSchema。讀取任何內嵌結構描述,並載入資料。
  • 自動。預設值。執行最適當的動作。
back to the top

建立專案並加入程式碼

這個範例會使用名為 MySchema.xml 的檔案。若要建立 MySchema.xml,請遵循下列的 「 Microsoft 知識庫 」 文件中的步驟執行:
309183 如何使用視覺化 C#.NET,保存為 XML 的 ADO.NET 資料集
下列程式碼範例會示範如何使用兩種常用的多載版本的ReadXml。如需其他範例中,參考 MSDN 取得這個方法的各個多載主題。
  1. 啟動 Visual Studio.NET。
  2. 在 Visual 的 C#.NET 中建立新的 Windows 應用程式專案。Form1 加入專案中,根據預設值。
  3. 請確定您的專案包含System.Data命名空間的參考,並加入這個命名空間的參考,如果不存在。
  4. 放置兩個按鈕控制項和一個DataGrid控制項,在 Form1 上。變更為 Button1 的Name屬性 btnReader並變更文字屬性 讀取器.

    變更到 Button2 的Name屬性 btnFile並變更文字屬性 檔案.
  5. 使用系統System.DataSystem.Data.SqlClient命名空間的using陳述式,這樣您不需要限定這些稍後在程式碼中的命名空間中宣告。
    using System;using System.Data;using System.Data.SqlClient;					
  6. 按鈕上加入下列程式碼中對應的事件處理常式:
    private void btnReader_Click(object sender, System.EventArgs e){    string myXMLfile = @"C:\MySchema.xml";    DataSet ds = new DataSet();    // Create new FileStream with which to read the schema.    System.IO.FileStream fsReadXml = new System.IO.FileStream         (myXMLfile, System.IO.FileMode.Open);    try    {        ds.ReadXml(fsReadXml);        dataGrid1.DataSource = ds;        dataGrid1.DataMember = "Cust";    }    catch (Exception ex)    {	MessageBox.Show(ex.ToString());    }    finally    {	fsReadXml.Close();    }}		private void btnFile_Click(object sender, System.EventArgs e){    string myXMLfile = "C:\\MySchema.xml";    DataSet ds = new DataSet();     try    {        ds.ReadXml(myXMLfile);        dataGrid1.DataSource = ds;        dataGrid1.DataMember = "Cust";    }    catch (Exception ex)    {        MessageBox.Show(ex.ToString());    }}					
  7. 修改成適合您環境的 XML 檔案 (MyXmlFile) 的路徑。
  8. 儲存專案。偵錯] 功能表中,按一下 [[開始],以執行您的專案]。
  9. 按一下任一按鈕來從指定的檔案讀取 XML 資料。請注意,XML 資料會出現在方格中。
back to the top

其他注意事項

  • 若要讀取 XML 結構描述,您可以使用ReadXmlSchema方法。
  • 若要取得只有資料的 XML 表示,在資料集,而不是保存至資料流或檔案,您可以使用GetXml方法。
back to the top
参考
如需詳細資訊,按一下下面的文件編號,檢視 「 Microsoft 知識庫 」 中的文件:
309183 如何使用視覺化 C#.NET,保存為 XML 的 ADO.NET 資料集
262450 如何使用 ADO 資料錄集的 XML 的持續性的 c + + 範例
如需 ADO.NET 物件和語法的詳細資訊,請參閱下列的 Microsoft.NET Framework 軟體開發套件 (SDK) 說明文件,或選取 [MSDN Online:back to the top

警告:本文為自動翻譯

內容

文章識別碼:311566 - 最後檢閱時間:02/09/2016 05:56:00 - 修訂: 3.0

Microsoft ADO.NET 1.1, Microsoft Visual C# .NET 2003 標準版, Microsoft Visual C# .NET 2002 Standard Edition

  • kbhowtomaster kbsystemdata kbmt KB311566 KbMtzh
意見反應