2013-06-05 105 views
0

我知道我的標題不是很明顯,但我無法清楚地解釋自己,對不起。XML文件到列表框+文本框

我的應用程序正在填充一個XML文件中的數據,從<name>標籤,這部分工作,沒有問題,現在,我想要做的是當我點擊列表框上的名稱它加載<desc>字段對應於<name>字段。

例如:我在列表框中單擊名稱「john」,它必須在文本框中顯示相應的desc。

我當前的代碼:

foreach (var coordinate in coordinates.Descendants("app")) 
      { 
       string appName = coordinate.Element("appname").Value; 
       string appDesc = coordinate.Element("desc").Value; 
       lstApps.Items.Add(appName); 
      } 

我知道我可以到這個DataGrid中使用,但我不希望爲「設計」的原因。

我希望我沒有因爲我現在就腦筋混亂的人!

在此先感謝!

+0

是XML內容的動態?爲什麼不把它們全部抓到一個集合中,比如'Dictionary ''''''''''''''!然後你可以使用它來加載列表框並找到「Desc」。 – DonBoitnott

+0

XML從RSA編碼的答案加載很長時間(如10秒) 也許我應該告訴我,我不是很擅長c#因爲我是一個web開發人員:p –

+0

但是你不支付無論如何,這個懲罰?這是否排除了我建議的方法?也許我誤解了... – DonBoitnott

回答

0

一個例子(並不意味着要準確):

Dictionary<String,String> dict = new Dictionary<String,String>(); 
foreach (var coordinate in coordinates.Descendants("app")) 
    dict.Add(coordinate.Element("appname").Value, coordinate.Element("desc").Value); 
foreach (keyValuePair<String,String> kvp in dict) 
    lstApps.Items.Add(kvp.Key); 

當你想說明:

String desc = dict[lstApps.SelectedItem.ToString()]; //you might have to adjust this to get the text from the ListBox selected item 
+0

非常感謝,這正是我需要的! –

+0

修復了ListBox加載循環...'kvp.Key'中的錯誤。 – DonBoitnott

+0

是的,我自己修復它,但謝謝你的例子,幫助我很多:) –