2010-05-22 12 views
0

Je veux vérifier le combobox.selecteditem.tostring() sur combobox sélectionnez dans un xml donné avec plusieurs nœuds, où chaque on a un attribut appelé "name"C# xml fonction pour vérifier si une chaîne est égale à un attribut xml, pour ajouter l'élément combobox sélectionné à la zone de texte

private void comboBox1_SelectedIndexChanged(object sender, EventArgs e) 
{ 
    try 
    { 
     textBox1.AppendText(nameAttributeCheck(comboBox1.SelectedItem.ToString())); 
    } 
    catch { 
    } 
} 

private string nameAttributeCheck(string a) 
{ 
    XmlDocument doc = new XmlDocument(); 
    doc.Load("armor.xml"); 

    XmlElement root = doc.DocumentElement; 
    XmlNodeList items = root.SelectNodes("/items"); 

    String result = null; 

    try 
    { 
     foreach (XmlNode item in items) 
     { 
       if (string.Equals(a, item.Attributes["name"].InnerText.ToString())) 
       { 
        result += item.Attributes["picture"].InnerText.ToString(); 
       } 
     } 

    } 
    catch 
    { 
    } 
    return result; 

} 

chaque fois que je l'essayer, rien ne se passe

Répondre

0

ok je l'ai eu

private void comboBox1_SelectedIndexChanged(object sender, EventArgs e) 
{ 
    try 
    { 
     textBox1.AppendText(nameAttributeCheck(comboBox1.SelectedItem.ToString())); 
    } 
    catch { 
    } 
} 

private string nameAttributeCheck(string a) 
{ 
    XmlDocument doc = new XmlDocument(); 
    doc.Load("armor.xml"); 

    XmlElement root = doc.DocumentElement; 
    XmlNodeList items = root.SelectNodes("/items/item"); 

    String result = null; 

    try 
    { 
      for (int i = 0; i < items.Count; i++) 
      { 

       if (string.Equals(a, items[i].Attributes["name"].InnerText.ToString())) 
       { 
        result += items[i].Attributes["name"].InnerText.ToString(); 
       } 
      }    
    } 
    catch 
    { 
    } 
    return result; 
}