c#讀取xml檔案到datagridview中
阿新 • • 發佈:2019-02-16
using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Linq; using System.Text; using System.Windows.Forms; using System.IO; using System.Xml; using System.Xml.Linq; namespace QueryXMLByLINQ { public partial class Frm_Main : Form { public Frm_Main() { InitializeComponent(); } static string strPath = "Employee.xml"; static string strID = ""; //窗體載入時載入XML檔案 private void Form1_Load(object sender, EventArgs e) { getXmlInfo(); } //顯示選中XML節點的詳細資訊 private void dataGridView1_CellClick(object sender, DataGridViewCellEventArgs e) { strID = dataGridView1.Rows[e.RowIndex].Cells[3].Value.ToString();//記錄選擇的職工編號 XElement xe = XElement.Load(strPath);//載入XML檔案 //使用LINT從XML檔案中查詢資訊 IEnumerable<XElement> elements = from PInfo in xe.Elements("People") where PInfo.Attribute("ID").Value == strID select PInfo; foreach (XElement element in elements)//遍歷查詢結果 { textBox11.Text = element.Element("Name").Value;//顯示職工姓名 comboBox1.SelectedItem = element.Element("Sex").Value;//顯示職工性別 textBox12.Text = element.Element("Salary").Value;//顯示職工薪水 } } #region 將XML檔案內容繫結到DataGridView控制元件 /// <summary> /// 將XML檔案內容繫結到DataGridView控制元件 /// </summary> private void getXmlInfo() { DataSet myds = new DataSet(); myds.ReadXml(strPath); dataGridView1.DataSource = myds.Tables[0]; } #endregion } }
<?xml version="1.0" encoding="UTF-8"?> -<Peoples> -<People ID="001"> <Name>小王</Name> <Sex>男</Sex> <Salary>1500</Salary> </People> -<People ID="002"> <Name>小呂</Name> <Sex>男</Sex> <Salary>1500</Salary> </People> -<People ID="003"> <Name>小樑</Name> <Sex>男</Sex> <Salary>1500</Salary> </People> </Peoples>