C# XML Boolean-Wert konvertieren

Wenn man mittels C# programmiert und seine Daten in einer XML-Datei speichert, dann kommt es auch sehr häufig vor, dass man in der XML-Datei Werte vom Typ Boolean/Bool speichern muss. Dies können z.B. die Zustände irgendwelcher Checkboxen sein, die der User im Programm oder einem UserControl angeklickt hat.

XML-String in Boolean wandeln

Lädt man nun eine solche XML-Datei und möchte die Daten wieder in sein Programm einlesen, dann erhält man erstmal nur eine String-Variable, welche man in Boolean konvertieren muss.

Zum Glück stellt hier der System.XML-Namespace eine passende Methode bereit, so dass man die Typkonvertierung nicht selber programmieren muss. Für diese und andere Typ-Konvertierungen gibt es die Klasse XmlConvert, welche eine Reihe an statischen Methoden bereithält, um XML-Strings wieder zurück in den richtigen String zu wandeln.

Ein Boolean-Wert wird in der XML-Datei als String der Form TRUE/FALSE, True/False oder true/false gespeichert. Der Code zum Konvertieren kann dann wie folgt aussehen:

XmlNode? xmlMyBool = nd.SelectSingleNode("MyBoolValue");
if (xmlEditable != null)
{
   bool myBoolean = XmlConvert.ToBoolean(xmlMyBool.InnerText.ToLower());
}

Die Funktion XMLConvert.ToBoolean versteht nur kleingeschriebene Werte. Es kann aber vorkommen, dass es in der XML-Datei großgeschrieben ist. Dann wirft die Methode eine Exception. Aus diesem Grund sollte man den übergebenen String noch auf Kleinschreibung normalisieren mit der Methode .toLower().

Kommentar hinterlassen

Deine E-Mail-Adresse wird nicht veröffentlicht.