Я пытаюсь прочитать файл xml, который я хочу сделать для своей мамы. Так что в основном это то, что я хочу сделать:Как читать значения из XML-документа для создания ComboBox?
- A
ComboBox
, в котором будут показаны все растительные имена в XML. - После выбора овощей второй
ComboBox
покажет названия рецептов в XML, которые могут использовать овощ, выбранный в первомComboBox
для приготовления пищи. - Последний, с OK
Button
, выбранный рецепт будет читать путь к файлу, который ведет к рецепту.
XML я писал
<Vegetables>
<vegetable name="Carrot">
<recipe name="ABCrecipe">
<FilePath>C:\\</FilePath>
</recipe>
<recipe name="DEFrecipe">
<FilePath>D:\\</FilePath>
</recipe>
</vegetable>
<vegetable name="Potato">
<recipe name="CBArecipe">
<FilePath>E:\\</FilePath>
</recipe>
<recipe name"FEDrecipe">
<FilePath>F:\\</FilePath>
</recipe>
</vegetable>
</Vegetables>
C# код
private void Form1_Load(object sender, EventArgs e)
{
XmlDocument xDoc = new XmlDocument();
xDoc.Load("Recipe_List.xml");
XmlNodeList vegetables = xDoc.GetElementsByTagName("Vegetable");
for (int i = 0; i < vegetables.Count; i++)
{
comboBox1.Items.Add(vegetables[i].Attributes["name"].InnerText);
}
}
private void comboBox1_SelectedIndexChanged(object sender, EventArgs e)
{
//I'm lost at this place.
}
Первый ComboBox
теперь может отображать названия овощей, но как я могу сделать 2-ой ComboBox
читать рецепты?
Вы должны поместить значения «картофель» и «морковь» в их собственный узел. Вам просто нужно уточнить свой процесс выбора, вы захватываете узел высокого уровня и распечатываете все внутри, а не используете более конкретный селектор для поиска определенных элементов. – SpaceBison
В качестве альтернативы добавлению нового узла вы можете поместить растительное имя в качестве атрибута растительного узла. – Kobunite