2012-03-31 6 views
0

이름의 형식을 변환하여 그 안에있는 각 요소를 내 ListBox에 추가 할 수있는 방법을 모르겠습니다. 누군가가 도움을 줄 수 있다면 많은 도움이 될 것입니다.ListBox에 XML 요소 추가

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

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

listBox1.Items.AddRange(names); 

나는 IEnumerable<String>listBox.Items.AddRange 객체 배열을 기대하고있다 그들 사이에 암시 적 캐스트가없는 잘못된 인수를

+0

변수 이름이 배열인지 여부 ...! – Dinesh

+0

아니요 배열이 아닙니다 – a7omiton

+0

양식 앱입니까, 웹 양식입니까, 아니면 무엇입니까? – Eugene

답변

2

이름을 말하는 AddRange (이름)에 오류가있다 얻고있다. 어쩌면

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

감사합니다. 멋지게 작동합니다. 대신 목록 상자를 채운 XmlTextReader 코드로 대체했습니다. 고맙습니다 – a7omiton

1

코드의 마지막 라인 대신에이 코드를보십시오 :에

빠른 해결책은 될 것이다

0

:

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

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

또는

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