如何用xml中的数据加载datagridview
本文关键字:数据 加载 datagridview 何用 xml | 更新日期: 2023-09-27 18:26:44
我有这个XML:
<container_1 attr1="..." attr2="..." attr3="...">
<rekord_1>
<type_1 attr1="..." attr2="..." ... />
<type_2 attr1="..." attr2="..." ... />
</rekord_1>
<rekord_2>... </rekord_2>
.
.
<rekord_N> ... </rekord_N>
</container_1>
我可以解析我想要的方式,并在控制台应用程序中显示它(使用XMLElements
、XMLNodeLists
和一些循环),但我想制作一个具有GUI和表视图的应用程序。我的表单应用程序可以读取XML,但它现在只能处理1个标记。例如,如果我得到container_1
标记,它本身只输出container_1
的属性,但我也想在表视图中显示container_1
下的记录。
我想让它像控制台中的旧程序一样可以查看。
如何从XML中获取数据,以便能够使用元素/属性?因为我想在表格视图中设置它们的位置。我应该阅读哪些文档?或者有什么对我有用的例子吗?
编辑(8月20日):以下是代码的主要部分:
private void button1_Click(object sender, EventArgs e)
{
Stream input=null;
OpenFileDialog dialog = new OpenFileDialog();
openFileDialog1.InitialDirectory = "C:/";
openFileDialog1.Filter = "xml file | *.xml";
openFileDialog1.FilterIndex = 2;
openFileDialog1.RestoreDirectory = true;
if (openFileDialog1.ShowDialog() == DialogResult.OK) {
try
{
if ((input = openFileDialog1.OpenFile()) != null)
{
using (input)
{
XmlReader xmlFile = XmlReader.Create(input, new XmlReaderSettings());
DataSet dataSet = new DataSet();
dataSet.ReadXml(xmlFile);
DataSet containers = new DataSet();
dataGridView1.DataSource = dataSet.Tables[tag];
xmlFile.Close();
}
}
}
catch (Exception ex) {
MessageBox.Show("ERROR");
}
}
}
如果我的标记是容器或重排序,此函数可以很好地显示,并输出以下内容:输出
但我不能显示container1+它的重单词,container2+它的重词等等,只能同时显示所有容器或所有重单词。
听起来您想要做的是将XML拉入数据集,然后将该数据集馈送到Gridview。
看起来有人已经在Stack Exchange和上问过这个问题了
使用c#从xml到Datagridview填充项目的任何方法
添加
您所拥有的是一个具有多个DataTables
的DataSet
。CCD_ 8一次只能显示一个CCD_。
当你对进行编码时
dataGridView1.DataSource = dataSet.Tables[tag];
并将container_1
放入tag
中—您正在收回数据集的container_1
TABLE。
我建议您查看MSDN中的DataGridView、DataSet和DataTable,看看这是否真的适用于您。
也许也可以看看这个C#DataGridView教程
它不会痛。