Zum Inhalt springen

[C#] XML Knoten auslesen und in Combobox einfügen


Empfohlene Beiträge

Geschrieben

Hallo,

also ich habe ein Problem :P

Wie schaffe ich es, einen Wert aus meiner .XML-Datei zu kriegen, und diesen als Start-Wert der Combobox hinzuzufügen?

teil meiner .xml:


<logFilters>

<categoryFilters>

<add name="Info" />

<add name="Warning" />

<add name="Error" />

<add name="Fatal" />

</categoryFilters>

</add>

</logFilters>

und ein teil meines programms:

            StreamReader reader = new StreamReader(file);


            XmlDocument doc = new XmlDocument();


            doc.LoadXml(reader.ReadToEnd());

            reader.Close();


            // Stelle in XML finden

            XmlNodeList nodelist = doc.SelectNodes("/configuration/loggingConfiguration/logFilters/add/categoryFilters/add");

            XmlNodeList parent = doc.SelectNodes("/configuration/loggingConfiguration/logFilters/add/categoryFilters");

            XmlNode catFilterNode = doc.SelectSingleNode("/configuration/loggingConfiguration/logFilters/add/categoryFilters");

wie kriege ich es jetzt hin, dass ich weiß, welcher wert ausgewählt wurde ("Debug", "Info", "Warning", etc.) und diesen dann als Start-Wert in meine Combobox packe?

danke und mfg

SeToY

Geschrieben

Ich verstehe deine Frage nicht so ganz. Wo soll denn ein Wert "ausgewählt" worden sein?

So wie ich das sehe, hast du in deinem XML (welches übrigens einen Fehler enthält - nämlich die Zeile "</add>") Einträge, die einer Combobox als Auswahlelemente hinzugefügt werden soll, richtig?

Geschrieben

Die sind bereits in meiner ComboBox.

Es ist ein Programm, welches das LogLevel ändern soll. Hat noch 'ne weiter Struktur, die hier aber nicht wichtig ist.

Und in dieser ComboBox habe ich die Werte:

"Debug

Info

Warning

Error

Fatal"

Nun ist diese ComboBox beim start aber leer. Und ich will nun, jeh nachdem welches loglevel momentan in der .xml datei ausgewählt ist, dieses item in der combobox als startwert haben.

beispiel:

Der Log-Wert ist momentan auf "Warning". Jetzt möchte ich, dass meine ComboBox den Startwert "Warning" erhält.

Wenn er "Debug" ist, soll die Box den Startwert "Debug" erhalten.

Geschrieben


<logFilters>

<categoryFilters>

<add name="Info" />

<add name="Warning" />

<add name="Error" />

<add name="Fatal" />

</categoryFilters>

</add>

</logFilters>

da ^^ Der momentane wert ist da "Info". Das wäre Debug:

<logFilters>

<categoryFilters>

<add name="Debug" />

<add name="Info" />

<add name="Warning" />

<add name="Error" />

<add name="Fatal" />

</categoryFilters>

</add>

</logFilters>

und das z.B. "Error":

<logFilters>

<categoryFilters>

<add name="Error" />

<add name="Fatal" />

</categoryFilters>

</add>

</logFilters>

Geschrieben
auf categoryFilters zugreifen, ersten sohn angucken/auslesen

Dann mit deiner gefüllten Combo Box vergleichen und auf selected setzen?

Wenn ich das für so einfach befinden würde hätte ich es schon längst getan :confused:

Geschrieben
Halte ich für ein bisschen unschön. Schöner wäre meiner Meinung nach folgendes:

<categoryFilters active="Info">

Dann brauchst du nur das Attribut "active" auslesen...

Auf jedenfall ist das schöner!

Hab schon geschluckt als er sagte, dass das Aktive der 'oberste' ist.

SeToY, wo haperts denn? Beim selektieren eines Punktes?

1. den aktiven Wert aus der XML auslesen

2. ComboBox durchlaufen, bis aktiver Wert aus XML erreicht

3. Wenn gefunden selectedIndex setzen

4. Feddig

Dein Kommentar

Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.

Gast
Auf dieses Thema antworten...

×   Du hast formatierten Text eingefügt.   Formatierung wiederherstellen

  Nur 75 Emojis sind erlaubt.

×   Dein Link wurde automatisch eingebettet.   Einbetten rückgängig machen und als Link darstellen

×   Dein vorheriger Inhalt wurde wiederhergestellt.   Editor leeren

×   Du kannst Bilder nicht direkt einfügen. Lade Bilder hoch oder lade sie von einer URL.

Fachinformatiker.de, 2024 by SE Internet Services

fidelogo_small.png

Schicke uns eine Nachricht!

Fachinformatiker.de ist die größte IT-Community
rund um Ausbildung, Job, Weiterbildung für IT-Fachkräfte.

Fachinformatiker.de App

Download on the App Store
Get it on Google Play

Kontakt

Hier werben?
Oder sende eine E-Mail an

Social media u. feeds

Jobboard für Fachinformatiker und IT-Fachkräfte

×
×
  • Neu erstellen...