C#:通过DataSet将XML绑定到ComboBox

时间:2009-11-21 19:57:57

标签: 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 StringReader("<root><parm1>val1</parm1><parm2>val2</parm2></root>");

dataSet.ReadXml(strR);

comboBox1.DataSource = dataSet.Tables[0];
comboBox1.DisplayMember = "col1";
comboBox1.ValueMember = "col1";

嗯,它没有按预期工作。 ComboBox应该显示 VAL1 val2的

我真的不明白DataSet中DataTable的列名如何与XML-Tags相关......也许这就是重点?

提前谢谢你!

1 个答案:

答案 0 :(得分:5)

以下内容应该有效:

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";

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