Veröffentlicht 17. April 200916 j Hallo, also ich habe ein Problem 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
17. April 200916 j 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?
17. April 200916 j Autor 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.
17. April 200916 j Autor <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>
17. April 200916 j auf categoryFilters zugreifen, ersten sohn angucken/auslesen Dann mit deiner gefüllten Combo Box vergleichen und auf selected setzen?
17. April 200916 j Autor 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:
17. April 200916 j 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...
17. April 200916 j 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
17. April 200916 j Autor ich weiß nicht, wie ich es hinkriege, dass ich weiß, welcher wert nun der aktive ist ^^
17. April 200916 j Autor Yep, danke XmlNode curlvl = catFilterNode.FirstChild.Attributes[0]; hat geholfen ^^
Archiv
Dieses Thema wurde archiviert und kann nicht mehr beantwortet werden.