逐步解說:將 XML 資料讀入資料集
ADO.NET 提供簡單的方法來使用 XML 資料。 在這份逐步解說中,您將建立 Windows 應用程式,來將 XML 資料載入資料集。 接著資料集就會顯示在 DataGridView 中。 最後,根據 XML 檔內容建立的 XML 結構描述將會顯示在文字方塊中。
此逐步解說包含五個主要的步驟:
建立新專案。
建立要讀入資料集的 XML 檔案。
建立使用者介面。
建立資料集、讀取 XML 檔,並將其顯示在 DataGridView 控制項中。
加入程式碼,在 TextBox 控制項中顯示以 XML 檔為基礎的 XML 結構描述。
注意事項 |
---|
根據您目前使用的設定或版本,您所看到的對話方塊與功能表指令可能會與 [說明] 中描述的不同。若要變更設定,請從 [工具] 功能表中選擇 [匯入和匯出設定]。如需詳細資訊,請參閱 Visual Studio 設定。 |
建立新專案
在這個步驟中,您將建立包含這份逐步解說的 Visual Basic 或 Visual C# 專案。
若要建立新的 Windows 專案
從 [檔案] 功能表中,建立新專案。
將專案命名為 ReadingXML。
選取 [Windows 應用程式],並按一下 [確定]。 如需詳細資訊,請參閱開發用戶端應用程式。
[ReadingXML] 專案隨即建立並加入至 [方案總管]。
產生要讀入資料集的 XML 檔
由於這份逐步解說主要是將 XML 資料讀入資料集,因此會提供 XML 檔的內容。
若要建立要讀入資料集的 XML 檔案
從 [專案] 功能表選擇 [加入新項目]。
選取 [XML 檔],將檔案命名為 authors.xml,再按一下 [加入]。
XML 檔案會載入至設計工具中,並且可以開始編輯。
將以下程式碼貼入編輯器中 XML 宣告的下方:
<Authors_Table> <authors> <au_id>172-32-1176</au_id> <au_lname>White</au_lname> <au_fname>Johnson</au_fname> <phone>408 496-7223</phone> <address>10932 Bigge Rd.</address> <city>Menlo Park</city> <state>CA</state> <zip>94025</zip> <contract>true</contract> </authors> <authors> <au_id>213-46-8915</au_id> <au_lname>Green</au_lname> <au_fname>Margie</au_fname> <phone>415 986-7020</phone> <address>309 63rd St. #411</address> <city>Oakland</city> <state>CA</state> <zip>94618</zip> <contract>true</contract> </authors> <authors> <au_id>238-95-7766</au_id> <au_lname>Carson</au_lname> <au_fname>Cheryl</au_fname> <phone>415 548-7723</phone> <address>589 Darwin Ln.</address> <city>Berkeley</city> <state>CA</state> <zip>94705</zip> <contract>true</contract> </authors> <authors> <au_id>267-41-2394</au_id> <au_lname>Hunter</au_lname> <au_fname>Anne</au_fname> <phone>408 286-2428</phone> <address>22 Cleveland Av. #14</address> <city>San Jose</city> <state>CA</state> <zip>95128</zip> <contract>true</contract> </authors> <authors> <au_id>274-80-9391</au_id> <au_lname>Straight</au_lname> <au_fname>Dean</au_fname> <phone>415 834-2919</phone> <address>5420 College Av.</address> <city>Oakland</city> <state>CA</state> <zip>94609</zip> <contract>true</contract> </authors> </Authors_Table>
在 [檔案] 功能表中,指向 [儲存 authors.xml]。
建立使用者介面
這個應用程式的使用者介面將包含:
將 XML 檔的內容當做資料顯示的 DataGridView 控制項。
針對 XML 檔顯示 XML 結構描述的 TextBox 控制項。
兩個 Button 控制項。
一個按鈕會將 XML 檔讀入資料集,並將其顯示在 DataGridView 控制項中。
第二個按鈕會從資料集擷取結構描述,並透過 StringWriter 將其顯示在 TextBox 控制項中。
若要將控制項加入至表單
在設計檢視中開啟 Form1。
從 [工具箱] 中,將下列控制項拖曳到表單上:
一個 DataGridView 控制項
一個 TextBox 控制項
兩個 Button 控制項
設定下列屬性:
控制項
屬性
設定
TextBox1
Multiline
true
ScrollBars
垂直
Button1
名稱
ReadXmlButton
文字
Read XML
Button2
名稱
ShowSchemaButton
文字
Show Schema
建立接收 XML 資料的資料集
在下一個程序中,您會建立名為 authors 的新資料集。 如需資料集的詳細資訊,請參閱 使用 Visual Studio 中的資料集。
若要建立將接收 XML 資料的新資料集
當 [方案總管] 中選取了 [Form1] 的原始程式檔時,請按一下 [方案總管] 工具列中的 [設計工具檢視] 按鈕。
從資料索引標籤、工具箱,將 [資料集] 拖曳至 [Form1]。
選取 不具型別資料集 的 加入資料集 對話方塊中,然後按一下 確定。
[DataSet1] 隨即加入元件匣中。
請在 [屬性] 視窗中,將 [Name] 和 DataSetName 屬性設定為 AuthorsDataSet。
建立將 XML 讀入資料集的事件處理常式
[Read XML] 按鈕會將 XML 檔讀入資料集中,並在 DataGridView 控制項上設定繫結至此資料集的屬性。
若要將程式碼加入至 ReadXmlButton_Click 事件處理常式
在 [方案總管] 中,選取 [Form1],並按一下 [方案總管] 工具列上的 [設計工具檢視] 按鈕。
按兩下 [Read XML] 按鈕。
[程式碼編輯器] 會在 ReadXmlButton_Click 事件處理常式上開啟。
將下列程式碼輸入到 ReadXmlButton_Click 事件處理常式:
Private Sub ReadXmlButton_Click() Handles ReadXmlButton.Click Dim filePath As String = "Complete path where you saved the XML file" AuthorsDataSet.ReadXml(filePath) DataGridView1.DataSource = AuthorsDataSet DataGridView1.DataMember = "authors" End Sub
private void ReadXmlButton_Click(object sender, EventArgs e) { string filePath = "Complete path where you saved the XML file"; AuthorsDataSet.ReadXml(filePath); dataGridView1.DataSource = AuthorsDataSet; dataGridView1.DataMember = "authors"; }
在 ReadXMLButton_Click 事件處理常式程式碼中,將 filepath = 項目變更為正確路徑。
建立在文字方塊中顯示結構描述的事件處理常式
[Show Schema] 按鈕會建立 StringWriter 物件,此物件中已填入此結構描述,並顯示在 TextBox 中。
若要將程式碼加入至 ShowSchemaButton_Click 事件處理常式
從 [方案總管] 中選取 [Form1],再按一下 [設計工具檢視] 按鈕。
按兩下 [Show Schema] 按鈕。
[程式碼編輯器] 會在 ShowSchemaButton_Click 事件處理常式上開啟。
將下列程式碼輸入到 ShowSchemaButton_Click 事件處理常式。
Private Sub ShowSchemaButton_Click() Handles ShowSchemaButton.Click Dim swXML As New System.IO.StringWriter() AuthorsDataSet.WriteXmlSchema(swXML) TextBox1.Text = swXML.ToString End Sub
private void ShowSchemaButton_Click(object sender, EventArgs e) { System.IO.StringWriter swXML = new System.IO.StringWriter(); AuthorsDataSet.WriteXmlSchema(swXML); textBox1.Text = swXML.ToString(); }
測試
您現在可以測試表單以確定它的行為表現如預期般。
若要測試表單
按下 F5 執行應用程式。
按一下 [Read XML] 按鈕。
DataGridView 會顯示 XML 檔案的內容。
按一下 [Show Schema] 按鈕。
文字方塊會顯示 XML 檔案的 XML 結構描述。
後續步驟
這個逐步解說會說明將 XML 檔案讀入資料集,以及依據 XML 檔案內容建立結構描述的基本操作方法。 以下則是接下來的一些工作: