C#:通过数据集将XML绑定到组合框

C#:通过数据集将XML绑定到组合框,c#,xml,dataset,C#,Xml,Dataset,我试图让这段代码工作大约2小时=(我是C#新手,不知道所有的.NET库类 目标是将XML数据填充到comboBox DataSet dataSet = new DataSet(); DataTable dataTable = new DataTable("table1"); dataTable.Columns.Add("col1", typeof(string)); dataSet.Tables.Add(dataTable); StringReader strR = new StringRea

我试图让这段代码工作大约2小时=(我是C#新手,不知道所有的.NET库类

目标是将XML数据填充到comboBox

DataSet dataSet = new DataSet();
DataTable dataTable = new DataTable("table1");
dataTable.Columns.Add("col1", typeof(string));
dataSet.Tables.Add(dataTable);

StringReader strR = new StringReader("<root><parm1>val1</parm1><parm2>val2</parm2></root>");

dataSet.ReadXml(strR);

comboBox1.DataSource = dataSet.Tables[0];
comboBox1.DisplayMember = "col1";
comboBox1.ValueMember = "col1";
DataSet数据集=新数据集();
DataTable=新数据表(“表1”);
dataTable.Columns.Add(“col1”,typeof(string));
dataSet.Tables.Add(dataTable);
StringReader strR=新StringReader(“val1val2”);
ReadXml(strR);
comboBox1.DataSource=dataSet.Tables[0];
comboBox1.DisplayMember=“col1”;
comboBox1.ValueMember=“col1”;
嗯,它没有按预期工作。组合框应该显示 瓦尔1 瓦尔2

我真的不明白数据集中DataTable的列名如何与XML标记相关……也许这就是问题所在


提前感谢您!

以下操作应该有效:

DataSet dataSet = new DataSet();
DataTable dataTable = new DataTable("table1");
dataTable.Columns.Add("col1", typeof(string));
dataSet.Tables.Add(dataTable);

StringReader strR = new StringReader("<root><table1><col1>val1</col1></table1><table1><col1>val2</col1></table1></root>");

dataSet.ReadXml(strR);

comboBox1.DataSource = dataSet.Tables[0];
comboBox1.DisplayMember = "col1";
comboBox1.ValueMember = "col1";
DataSet数据集=新数据集();
DataTable=新数据表(“表1”);
dataTable.Columns.Add(“col1”,typeof(string));
dataSet.Tables.Add(dataTable);
StringReader strR=新StringReader(“val1val2”);
ReadXml(strR);
comboBox1.DataSource=dataSet.Tables[0];
comboBox1.DisplayMember=“col1”;
comboBox1.ValueMember=“col1”;

表和列的名称需要在C#对象和XML数据之间保持一致。

以下操作应该有效:

DataSet dataSet = new DataSet();
DataTable dataTable = new DataTable("table1");
dataTable.Columns.Add("col1", typeof(string));
dataSet.Tables.Add(dataTable);

StringReader strR = new StringReader("<root><table1><col1>val1</col1></table1><table1><col1>val2</col1></table1></root>");

dataSet.ReadXml(strR);

comboBox1.DataSource = dataSet.Tables[0];
comboBox1.DisplayMember = "col1";
comboBox1.ValueMember = "col1";
DataSet数据集=新数据集();
DataTable=新数据表(“表1”);
dataTable.Columns.Add(“col1”,typeof(string));
dataSet.Tables.Add(dataTable);
StringReader strR=新StringReader(“val1val2”);
ReadXml(strR);
comboBox1.DataSource=dataSet.Tables[0];
comboBox1.DisplayMember=“col1”;
comboBox1.ValueMember=“col1”;

表和列的名称需要在C#对象和XML数据之间保持一致。

谢谢!这很有效。这很简单。表是父节点,最深的节点是列…谢谢!这很有效。这很简单。表是父节点,最深的节点是列。。。