{"id":2586,"date":"2022-04-18T17:29:12","date_gmt":"2022-04-18T15:29:12","guid":{"rendered":"https:\/\/ekiwi.de\/?p=2586"},"modified":"2022-12-10T20:13:19","modified_gmt":"2022-12-10T19:13:19","slug":"c-xml-boolean-wert-konvertieren","status":"publish","type":"post","link":"https:\/\/ekiwi.de\/index.php\/2586\/c-xml-boolean-wert-konvertieren\/","title":{"rendered":"C# XML Boolean-Wert konvertieren"},"content":{"rendered":"<p>Wenn man mittels C# programmiert und seine Daten in einer XML-Datei speichert, dann kommt es auch sehr h\u00e4ufig vor, dass man in der XML-Datei Werte vom Typ Boolean\/Bool speichern muss. Dies k\u00f6nnen z.B. die Zust\u00e4nde irgendwelcher Checkboxen sein, die der User im Programm oder einem <a title=\"Position und Location eines UserControl ermitteln, um ein Dialog daran auszurichten\" href=\"https:\/\/ekiwi.de\/index.php\/2576\/c-xaml-position-eines-usercontrols-ermitteln\/\">UserControl<\/a> angeklickt hat.<\/p>\n<h2>XML-String in Boolean wandeln<\/h2>\n<p>L\u00e4dt man nun eine solche XML-Datei und m\u00f6chte die Daten wieder in sein Programm einlesen, dann erh\u00e4lt man erstmal nur eine String-Variable, welche man in <a title=\"Boolean mit VBA in String konvertieren\" href=\"https:\/\/ekiwi-blog.de\/25152\/vba-boolean-bool-in-string-konvertieren\/\" target=\"_blank\" rel=\"noopener\">Boolean konvertieren<\/a> muss.<\/p>\n<p>Zum Gl\u00fcck stellt hier der <em>System.XML<\/em>-Namespace eine passende Methode bereit, so dass man die Typkonvertierung nicht selber programmieren muss. F\u00fcr diese und andere Typ-Konvertierungen gibt es die Klasse <a href=\"https:\/\/docs.microsoft.com\/de-de\/dotnet\/api\/system.xml.xmlconvert?view=net-6.0\" target=\"_blank\" rel=\"noopener\">XmlConvert<\/a>, welche eine Reihe an statischen Methoden bereith\u00e4lt, um XML-Strings wieder zur\u00fcck in den richtigen String zu wandeln.<\/p>\n<p>Ein Boolean-Wert wird in der XML-Datei als <a title=\"Anzahl Substrings in einem String\" href=\"https:\/\/ekiwi.de\/index.php\/4656\/c-anzahl-vorkommen-eines-strings-in-einem-anderen-string\/\">String<\/a> der Form TRUE\/FALSE, True\/False oder true\/false gespeichert. Der Code zum <a title=\"VBA Integer (Ganzzahl) in String (Zeichenkette) konvertieren\" href=\"https:\/\/ekiwi-blog.de\/24695\/vba-integer-ganzzahl-zu-string-zeichenkette-konvertieren\/\" target=\"_blank\" rel=\"noopener\">Konvertieren<\/a> kann dann wie folgt aussehen:<\/p>\n<pre><code><span style=\"color: #008080;\">XmlNode<\/span>? xmlMyBool = nd.SelectSingleNode(\"MyBoolValue\");\r\nif (xmlEditable != <span style=\"color: #0000ff;\">null<\/span>)\r\n{\r\n   <span style=\"color: #0000ff;\">bool<\/span> myBoolean = <span style=\"color: #008080;\">XmlConvert<\/span>.ToBoolean(xmlMyBool.InnerText.ToLower());\r\n}<\/code><\/pre>\n<p>Die Funktion <em>XMLConvert.ToBoolean<\/em> versteht nur kleingeschriebene Werte. Es kann aber vorkommen, dass es in der XML-Datei gro\u00dfgeschrieben ist. Dann wirft die Methode eine Exception. Aus diesem Grund sollte man den \u00fcbergebenen String noch auf Kleinschreibung normalisieren mit der Methode <em>.toLower()<\/em>.<\/p>","protected":false},"excerpt":{"rendered":"<p>Wenn man mittels C# programmiert und seine Daten in einer XML-Datei speichert, dann kommt es auch sehr h\u00e4ufig vor, dass<\/p>\n","protected":false},"author":2,"featured_media":581,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":"","_links_to":"","_links_to_target":""},"categories":[13],"tags":[190,136,80,191,682,159],"class_list":["post-2586","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-programmierung","tag-c","tag-programmieren","tag-programmierung","tag-visual-studio","tag-xaml","tag-xml"],"_links":{"self":[{"href":"https:\/\/ekiwi.de\/index.php\/wp-json\/wp\/v2\/posts\/2586","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/ekiwi.de\/index.php\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/ekiwi.de\/index.php\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/ekiwi.de\/index.php\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/ekiwi.de\/index.php\/wp-json\/wp\/v2\/comments?post=2586"}],"version-history":[{"count":0,"href":"https:\/\/ekiwi.de\/index.php\/wp-json\/wp\/v2\/posts\/2586\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/ekiwi.de\/index.php\/wp-json\/wp\/v2\/media\/581"}],"wp:attachment":[{"href":"https:\/\/ekiwi.de\/index.php\/wp-json\/wp\/v2\/media?parent=2586"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/ekiwi.de\/index.php\/wp-json\/wp\/v2\/categories?post=2586"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/ekiwi.de\/index.php\/wp-json\/wp\/v2\/tags?post=2586"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}