C#使用数据集将复杂类型的xml文件读入datagridview
我有一个这样的代码,它将xml文件读入数据集,然后在datagridview中显示数据。C#使用数据集将复杂类型的xml文件读入datagridview,xml,types,dataset,xsd,complextype,Xml,Types,Dataset,Xsd,Complextype,我有一个这样的代码,它将xml文件读入数据集,然后在datagridview中显示数据。 我在谷歌上搜索了一下,发现我的数据集可以读取xml,但只能读取第一个“级别”的元素 对于复杂类型来说,它还不够深入。但是,它会将复杂类型或“在线”数据保存到数据集中的下一个表中。xml文件位于一个数据集中,但表会根据元素的复杂类型进行拆分 有没有办法把这些表合并成一个大表,这样我就不需要一个数字上下值来在表视图之间切换 对于我的程序,我试图让用户能够更轻松地操作这些xml文件。有一张大桌子比有一堆小桌子要好
我在谷歌上搜索了一下,发现我的数据集可以读取xml,但只能读取第一个“级别”的元素 对于复杂类型来说,它还不够深入。但是,它会将复杂类型或“在线”数据保存到数据集中的下一个表中。xml文件位于一个数据集中,但表会根据元素的复杂类型进行拆分 有没有办法把这些表合并成一个大表,这样我就不需要一个数字上下值来在表视图之间切换 对于我的程序,我试图让用户能够更轻松地操作这些xml文件。有一张大桌子比有一堆小桌子要好得多 代码如下:
string filename = Address.Text;
dataGridView1.AutoGenerateColumns = true;
DataSet dataSet1 = new DataSet("DEFAULT");
dataSet1.ReadXml(filename, XmlReadMode.Auto);
bindingSource1.DataSource = dataSet1.Tables[(int)tablenumber.value].DefaultView;
dataGridView1.DataSource = bindingSource1;
richTextBox1.Text = filename + " loaded.";
label2.Text = "File Open: " + filename;
以此类推,但tablenumber一开始应该是0。这只是数据集在读取xml文件时拥有的“第一个”表。此外,我有一个与xml文件配套的模式。我是否也需要读取模式,以便它知道存在复杂类型,并根据模式进行读取
(.NET3.5SP1,VisualStudio2008c#)这个问题通过使用一个for循环来解决,该循环迭代数据集中的每个表并合并它。这产生了一个更大的datatable,它适合datagridview,而与模式无关。有空单元格,这是意料之中的,但这正是我想要的:一个巨大的数据表
DataTable dt = new DataTable();
dt = dataSet1.Tables[0];
int i;
for(i = 1; i < dataSet1.Tables.Count; i++)
{
dt.Merge(dataSet.Tables[i]);
}
DataTable dt=newdatatable();
dt=数据集1.表[0];
int i;
对于(i=1;i
是我使用的代码。=)
编辑:更多信息(限制,示例)这个问题通过使用for循环来解决,该循环迭代数据集中的每个表并合并它。这产生了一个更大的datatable,它适合datagridview,而与模式无关。有空单元格,这是意料之中的,但这正是我想要的:一个巨大的数据表
DataTable dt = new DataTable();
dt = dataSet1.Tables[0];
int i;
for(i = 1; i < dataSet1.Tables.Count; i++)
{
dt.Merge(dataSet.Tables[i]);
}
DataTable dt=newdatatable();
dt=数据集1.表[0];
int i;
对于(i=1;i
是我使用的代码。=)
编辑:更多信息(限制,示例)