Hi zusammen,
ich habe hier ein Problem, mitdem ich mich schon ziemlich lange beschäftige:
Ich habe eine Benutzeroberfläche (WinForms) welche als Konfigurationsoberfläche dienen soll. Die jeweilligen Werte werden in einer XML-Datei gespeichert.
Das Funktioniert dann auch und die XML-Datei sieht so aus :
Allerdings will ich die Einstellungen auch aus der XML laden und die jeweilligen Objekte (Checkbox, ComboxBox (als DropDownList)) auf diesen Wert festlegen.
Das funktioniert jedoch nicht.
Ich verwende zum schreiben der XML XmlDocument und zum lesen XmlReader.
Beim laden des Forms öffne ich die XML mit XmlReader. In einer While-Schleife und mehreren if-Abfragen lese ich die Datei aus und speichere bestimmte werte in Variablen
[highlight=c#]
XmlReader reader = XmlReader.Create(appFilePath);
while (reader.Read())
{
switch (reader.NodeType)
{
case XmlNodeType.Element:
{
if (reader.Name == "UIType")
{
reader.ReadStartElement();
uiType = reader.ReadContentAsString();
}
if (reader.Name == "showMenuBar")
{
reader.ReadStartElement();
showMenuBar = reader.ReadContentAsString();
}
if (reader.Name == "showToolBar")
{
reader.ReadStartElement();
showToolBar = reader.ReadContentAsString();
}
if (reader.Name == "showStateBar")
{
reader.ReadStartElement();
showStateBar = reader.ReadContentAsString();
}
if (reader.Name == "tabType")
{
reader.ReadStartElement();
tabType = reader.ReadContentAsString();
}
if (reader.Name == "tabs")
{
reader.ReadStartElement();
tabs = reader.ReadContentAsString();
}
} break;
}
}
reader.Close();
[/highlight]
Anschließend setze ich die jeweilligen Objekte auf die Werte der gespeicherten Variablen. Die 3 Variablen sind Bool-Werte (also entweder true oder false) kann ich warum auch immer nur im string auslesen. Beim setzen der Objekte löse ich das durch eine if-Abfrage. Wo ist der Fehler warum die Objekte nicht gesetzt werden können?
Vielen Dank für eure Hilfe im vorraus.
ich habe hier ein Problem, mitdem ich mich schon ziemlich lange beschäftige:
Ich habe eine Benutzeroberfläche (WinForms) welche als Konfigurationsoberfläche dienen soll. Die jeweilligen Werte werden in einer XML-Datei gespeichert.
Das Funktioniert dann auch und die XML-Datei sieht so aus :
HTML Code:
<?xml version="1.0" encoding="UTF-8"?> <cxxEditor> <!-- Runtime Data for Cxx Editor --> <appVersion>1.01.0108</appVersion> <versionMajor>1</versionMajor> <versionMinor>01</versionMinor> <versionBuild>0108</versionBuild> <versionStateCode>RTM_Update_Beta</versionStateCode> <versionState>Final (Update)</versionState> <updateUrl>http://www.kraemer-software.eu/dev/projects/update.php?app=cxxeditor</updateUrl> <!-- Settings for User Interface --> <UIType>standard</UIType> <showMenuBar>True</showMenuBar> <showToolBar>True</showToolBar> <showStateBar>True</showStateBar> <!-- Settings for text processing --> <tabType>Tab</tabType> <tabs>1</tabs> <!-- Settings for file & folder --> <pathAppFolder>dat\</pathAppFolder> </cxxEditor>
Das funktioniert jedoch nicht.
Ich verwende zum schreiben der XML XmlDocument und zum lesen XmlReader.
Beim laden des Forms öffne ich die XML mit XmlReader. In einer While-Schleife und mehreren if-Abfragen lese ich die Datei aus und speichere bestimmte werte in Variablen
[highlight=c#]
XmlReader reader = XmlReader.Create(appFilePath);
while (reader.Read())
{
switch (reader.NodeType)
{
case XmlNodeType.Element:
{
if (reader.Name == "UIType")
{
reader.ReadStartElement();
uiType = reader.ReadContentAsString();
}
if (reader.Name == "showMenuBar")
{
reader.ReadStartElement();
showMenuBar = reader.ReadContentAsString();
}
if (reader.Name == "showToolBar")
{
reader.ReadStartElement();
showToolBar = reader.ReadContentAsString();
}
if (reader.Name == "showStateBar")
{
reader.ReadStartElement();
showStateBar = reader.ReadContentAsString();
}
if (reader.Name == "tabType")
{
reader.ReadStartElement();
tabType = reader.ReadContentAsString();
}
if (reader.Name == "tabs")
{
reader.ReadStartElement();
tabs = reader.ReadContentAsString();
}
} break;
}
}
reader.Close();
[/highlight]
Anschließend setze ich die jeweilligen Objekte auf die Werte der gespeicherten Variablen. Die 3 Variablen sind Bool-Werte (also entweder true oder false) kann ich warum auch immer nur im string auslesen. Beim setzen der Objekte löse ich das durch eine if-Abfrage. Wo ist der Fehler warum die Objekte nicht gesetzt werden können?
Vielen Dank für eure Hilfe im vorraus.
Comment