SeToY Geschrieben 17. April 2009 Geschrieben 17. April 2009 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
el programador Geschrieben 17. April 2009 Geschrieben 17. April 2009 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?
SeToY Geschrieben 17. April 2009 Autor Geschrieben 17. April 2009 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.
SeToY Geschrieben 17. April 2009 Autor Geschrieben 17. April 2009 <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>
DominikJ Geschrieben 17. April 2009 Geschrieben 17. April 2009 auf categoryFilters zugreifen, ersten sohn angucken/auslesen Dann mit deiner gefüllten Combo Box vergleichen und auf selected setzen?
SeToY Geschrieben 17. April 2009 Autor Geschrieben 17. April 2009 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:
el programador Geschrieben 17. April 2009 Geschrieben 17. April 2009 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...
SeToY Geschrieben 17. April 2009 Autor Geschrieben 17. April 2009 Die .XML muss aber leider so bleiben
DominikJ Geschrieben 17. April 2009 Geschrieben 17. April 2009 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
SeToY Geschrieben 17. April 2009 Autor Geschrieben 17. April 2009 ich weiß nicht, wie ich es hinkriege, dass ich weiß, welcher wert nun der aktive ist ^^
DominikJ Geschrieben 17. April 2009 Geschrieben 17. April 2009 XmlNode.FirstChild-Eigenschaft (System.Xml) Soltle dir helfen.
SeToY Geschrieben 17. April 2009 Autor Geschrieben 17. April 2009 Yep, danke XmlNode curlvl = catFilterNode.FirstChild.Attributes[0]; hat geholfen ^^
Empfohlene Beiträge
Erstelle ein Benutzerkonto oder melde Dich an, um zu kommentieren
Du musst ein Benutzerkonto haben, um einen Kommentar verfassen zu können
Benutzerkonto erstellen
Neues Benutzerkonto für unsere Community erstellen. Es ist einfach!
Neues Benutzerkonto erstellenAnmelden
Du hast bereits ein Benutzerkonto? Melde Dich hier an.
Jetzt anmelden