最近有個小項目需要用到這塊的東西,是從XML中讀取資料,并且綁定到ComboBox控件,本來是想直接用XML來綁定的,不過後面還得用到這個資料,那還不如讀取出來直接綁定呢。
上網搜了一下,答案是滿天飛啊,不過就發現了一篇能用的;
流程:資料庫中的資料-->XML-->HashTable 之後綁定ComboBox
省略前半段
上源碼:
private Hashtable getXmlNodeHashTable(string key, string value)
{
XmlDocument xml = getXmlDocument();
Hashtable resultHashtable = new Hashtable();
XmlNodeList xmlList = xml.SelectNodes(root);
if (xmlList != null)
{
foreach (XmlNode item in xmlList)
{
XmlNode keyNode = item.SelectSingleNode(key);
XmlNode valueNode = item.SelectSingleNode(value);
resultHashtable.Add(keyNode.InnerText, valueNode.InnerText);
}
}
return resultHashtable;
}
public ArrayList getXMLNodeList(string key, string value)
{
ArrayList resultList = new ArrayList();
foreach (DictionaryEntry entry in getXmlNodeHash(key, value))
{
resultList.Add(entry);
}
return resultList;
}
private void bindComboBox()
{
cmbScenorio.DataSource = ServerInfo.getScenorioList();
cmbScenorio.ValueMember = "Key";
cmbScenorio.DisplayMember = "Value";
}