XML mit Comboboxen auslesen

Hallo,

Ich habe folgendes Problem und hoffe das ich hier richtig bin :slight_smile:

Es geht um folgendes:

Ich möchte die Daten einer .xml Datei auslesen und teile davon in comboboxen ausgeben.
Das klappt auch ziemlich gut
Mein Code hier zu:

[CSHARP]XmlDocument metatypes = new XmlDocument();
metatypes.Load("…\metatypes.xml");
XmlNodeList categorie = metatypes.SelectNodes(„chummer/categories/category“);
XmlNodeList metatype = metatypes.SelectNodes(„chummer/metatypes/metatype/name“);
foreach (XmlNode category in categorie)
{
cobMetatype.Items.Add(category.InnerText);
}[/CSHARP]

Jetzt habe ich die die Werte der node „Category“ in der ersten Kombobox aber jetzt kommt das Problem.

Ich würde gerne in einer zweiten Combobox die Namen anzeigen lassen aber in Kombination mit der „Categorie“

Bsp.:
Wenn in Combobox1 „Mensch“ steht, sollen in Combobox2 nur die „Namen“ angezeigt werden welche in der Categorie „Mensch“ stehen.

Auszug aus der .xml.

..Metahuman ..Sapient Critter ..Shapeshifter ..Special .. .... ........Human ........Metahuman ........0 ........1 ........6 ........9 .... .... ........Elf ........Metahuman ........0 ........1 ........6 ........9 .... .... ........Jaguar Shapeshifter ........Shapeshifter ........0 ........1 ........6 ........9 ....

Wenn ich also in der Combobox1 (Kategorie) „Metahuman“ auswähle dann soll in Combobox2 nur „Human“ und „Elf“ stehen, und wenn ich in Combobox1 „Shapeshifter“ auswähle soll in der Combobox2 nur „Jaguar Shapeshifter“ stehen.

Ich hoffe ihr versteht was ich meine :slight_smile:

GruĂź der Regenbogen :slight_smile:

Das schreit nach eine Map.

Nach dem einlesen des XML legtst Du eine Map an.
Die Keys darin sind Strings (die Kategorien) und die Werte sind Listen mit dem Namen, denen die jeweilige Kategorie zugewiesen ist.

wenn Du jetzt in der ersten Combobox eine Kategorie auswählst kannst Du auf das Auswahlereignis reagieren und die zweite Combobox mit den Namen dieser Kategorie füllen, die Du aus der Map bekommst.

da ich mit C# derzeit nicht arbeite gibt’s von mir kein Codebeispiel…

bye
TT

Danke erstmal für die Antwort :slight_smile: Ich suche mich mal durch ob ich etwas dazu finde, da ich noch ein absoluter Anfänger bin sagt mir das nämlich gerade überhaupt nichts^^ Aber ist schon mal gut zu wissen wie man es lösen kann. Vielen Dank.

Falls mir jemand dazu helfen geben kann, wäre das sehr nett. :slight_smile:
GruĂź
Regenbogen