接下来我将为您详细讲解“C#读取XML文件到DataGridView实例”的完整攻略。
1. 读取XML文件
在C#中,读取XML文件可以使用XmlDocument类或XDocument类。这里以XmlDocument类为例。
XmlDocument xmlDoc = new XmlDocument();
xmlDoc.Load("data.xml");
以上代码实例化一个XmlDocument对象,然后调用Load方法加载XML文件。
2. 解析XML节点
读取XML文件后,需要解析其中的元素和属性,并将它们绑定到DataGridView中显示。
以下是一个data.xml文件示例:
<Root>
<Student ID="10001">
<Name>张三</Name>
<Gender>男</Gender>
<Age>22</Age>
</Student>
<Student ID="10002">
<Name>李四</Name>
<Gender>女</Gender>
<Age>21</Age>
</Student>
</Root>
以下是解析XML节点的代码示例:
XmlNodeList nodes = xmlDoc.SelectNodes("//Student");
foreach (XmlNode node in nodes)
{
string id = node.Attributes["ID"].Value;
string name = node.SelectSingleNode("Name").InnerText;
string gender = node.SelectSingleNode("Gender").InnerText;
string age = node.SelectSingleNode("Age").InnerText;
}
以上代码使用SelectNodes方法选择所有Student节点,并通过循环遍历每个学生的信息。使用Attributes属性获取ID属性的值,使用SelectSingleNode方法获取Name、Gender和Age节点的InnerText值。
3. 绑定到DataGridView
最后,需要将解析好的数据绑定到DataGridView中显示。可以使用DataTable或BindingList来做到这一点。以下是两个示例:
3.1 使用DataTable
DataTable dt = new DataTable();
dt.Columns.Add("ID");
dt.Columns.Add("Name");
dt.Columns.Add("Gender");
dt.Columns.Add("Age");
XmlNodeList nodes = xmlDoc.SelectNodes("//Student");
foreach (XmlNode node in nodes)
{
DataRow row = dt.NewRow();
row["ID"] = node.Attributes["ID"].Value;
row["Name"] = node.SelectSingleNode("Name").InnerText;
row["Gender"] = node.SelectSingleNode("Gender").InnerText;
row["Age"] = node.SelectSingleNode("Age").InnerText;
dt.Rows.Add(row);
}
dataGridView1.DataSource = dt;
以上代码创建了一个DataTable对象,然后循环遍历每个学生的信息,将它们以DataRow的形式添加到DataTable中,最后将DataTable对象作为DataGridView的数据源。
3.2 使用BindingList
BindingList<Student> students = new BindingList<Student>();
XmlNodeList nodes = xmlDoc.SelectNodes("//Student");
foreach (XmlNode node in nodes)
{
Student student = new Student();
student.ID = node.Attributes["ID"].Value;
student.Name = node.SelectSingleNode("Name").InnerText;
student.Gender = node.SelectSingleNode("Gender").InnerText;
student.Age = node.SelectSingleNode("Age").InnerText;
students.Add(student);
}
dataGridView1.DataSource = students;
以上代码创建了一个BindingList
总结
以上就是基本的“C#读取XML文件到DataGridView实例”攻略。通过以上代码示例,您可以将XML文件中的数据读取到DataTable或BindingList中,然后将它们绑定到DataGridView中显示。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:c#读取xml文件到datagridview实例 - Python技术站