XmlNode vorhanden?

yooti

Grünschnabel
Hallo @all

mit meiner C# anwendung nutze ich eine XML Datei als config Datei.

mit dem auslesen und dem reinschreiben habe ich keine probleme. ( jetzt nicht mehr)

ich möchte aber nun herausfinden ob ein SingleNode Existiert oder nicht. Ich weiß nur nicht wie ich das anstellen soll.

das auslesen:
Code:
XmlDocument xmldoc = new XmlDocument();
xmldoc.Load(config.xml);

XmlNode platte01_Status = xmldoc.SelectSingleNode("/Settings/Platte01/Status");
platte_01_status = platte01_Status.InnerText;

im vorfeld möchte ich wissen oder der Pfad "/Settings/Platte01/Status" vorhanden ist und wenn nicht möchte ich ihn erstellen..



wie stelle ich das am besten an ?


mfg yooti
 
Das offensichtliche dürfte wohl das einfachste sein. Durchlaufe den Pfad Knoten für Knoten, dann merkst du auch sofort, an welcher Stelle der Pfad unvollständig ist. Jedes Mal, wenn du einen Child-Knoten anforderst, prüfst du, ob du einen bekommen hast. Das Ganze könnte dann ungefähr so aussehen:

C#:
XmlDocument xmldoc = new XmlDocument();
xmldoc.Load(config.xml);

XmlNode first = doc.FirstChild;
XmlNode setti = first.item["Settings"]; if ( null == setti ) ...
XmlNode platt = setti.item["Platte01"]; if ( null == platt ) ...
XmlNode state = platt.item["Status"  ]; if ( null == state ) ...

Verbesserungspotential ist sicher vorhanden, aber der Grundgedanke sollte klar sein.
 

Neue Beiträge

Zurück