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 Zitieren
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? Zitieren
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. Zitieren
DominikJ Geschrieben 17. April 2009 Geschrieben 17. April 2009 Unt wo sieht man das in deiner XML? Zitieren
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> Zitieren
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? Zitieren
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: Zitieren
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... Zitieren
SeToY Geschrieben 17. April 2009 Autor Geschrieben 17. April 2009 Die .XML muss aber leider so bleiben Zitieren
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 Zitieren
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 ^^ Zitieren
DominikJ Geschrieben 17. April 2009 Geschrieben 17. April 2009 XmlNode.FirstChild-Eigenschaft (System.Xml) Soltle dir helfen. Zitieren
SeToY Geschrieben 17. April 2009 Autor Geschrieben 17. April 2009 Yep, danke XmlNode curlvl = catFilterNode.FirstChild.Attributes[0]; hat geholfen ^^ Zitieren
Empfohlene Beiträge
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.