将XML元素添加到ListBox

时间:2012-03-31 10:44:48

标签: c# xml winforms listbox

我不知道如何转换名称的类型,以便将其中的每个元素添加到我的ListBox中。如果有人可以提供帮助,那将非常感激。

XDocument doc = XDocument.Load(workingDir + @"\Moduleslist.xml");

var names = doc.Root.Descendants("Module").Elements("Name").Select(b => b.Value);

listBox1.Items.AddRange(names);

我在AddRange(名称)上收到错误的说法

3 个答案:

答案 0 :(得分:2)

名称为IEnumerable<String>listBox.Items.AddRange期待一个对象数组,并且它们之间没有隐式转换。

快速解决方案是:

listBox1.Items.AddRange(names.ToArray());

foreach (var item in names)
{
    listBox1.Items.Add(item);
}

答案 1 :(得分:1)

尝试使用此代码而不是最后一行代码:

listBox1.DataSource = names;
this.listBox1.DisplayMember = YOURDISPLAYMEMBER;
this.listBox1.ValueMember = YOURVALUEMEMBER;

答案 2 :(得分:0)

也许:

listBox1.Items.AddRange(doc.Root.Descendants("Module").Elements("Name").Select(b => b.Value).ToArray());