VB: TreeView in XML speichern und zurück einlesen
Als eine kleine Ergänzung zu der "Ordnerstrukturen einlesen" Serie möchte ich hier eine Möglichkeit zeigen, wie man TreeViews als XML Dateien serialisieren kann.
TreeViews sind ja nichts anderes als Ordner-Bäume. Diese Struktur eignet sich natürlich sehr für XML. Das .NET Framework bietet hier einige sehr bequeme Möglichkeiten um XML Dateien zu erzeugen, zu bearbeiten und einzulesen!
Um das zu demonstrieren habe ich eine VB.NET Klasse angefertigt, die diese Aufgaben für uns übernimmt, also das Abspeichern einer TreeView in einer XML Datei und auch das einlesen eines XML-Baums in eine TreeView.
Die Klasseheißt XMLParser und bietet zur Zeit genau 2 Funktionen nämlich zum Exportiren und Importieren von TreeNodes.
Ihr könnt diese Klasse sehr einach in euer eigenes Projekt Importiren und gleich loslegen! Dazu einfach im Projektmappen-Explorer auf euer Projekt rechtsklicken und über "Hinzufügen"->"Klasse" die XMLParser Klasse hinzufügen.
Ich habe die Anwendung möglichst einfach gehalten, sodass alle Aufrufe maximal eine Zeile in Anspruch nehmen:
Wie man sieht ist die Benutzung sehr einfach gehalten. Desweiteren kann man in dieser Version "nur" TreeNodes abspeichern, will man also eine Komplette TreeView abspeichern muss man mit eine Schleife alle Root-Nodes durchlaufen!
Natürlich können auch XML-Dateien eingelesen werden, die nicht vom XMLParser erzeugt wurden, wie zum Beispiel Config-Dateien oder "richtige" XML-Dateien!
Ich werde mit der Zeit die Funktionalität der Klasse erweitern, sodass auch ganze TreeViews gespeichert und eingelesen werden können. Und auch Merging (deu: Vereinigen) und Synchronisieren wird möglich sein!
Desweiteren werden ich weitere Überladungen einbauen, sodass die Funktionen weiterhin so übersichtlich sein werden!
Wenn ihr Interesse habt könnt ihr euch hier ein Demoprojekt inklusive der Klasse herunterladen.
Dieses Demoprojekt herunterladen: Download


Oktober 29th, 2010
der Download funktioniert nur leider nicht mehr
Oktober 30th, 2010
Danke für den Hinweis, werde mich darum kümmern.
Oktober 30th, 2010
So, Download sollte nun wieder Funktionieren