Mit diesem VB.NET Klassenmodul lässt sich sehr einfach eine XML-Datei in ein TreeView-Control laden bzw. der Inhalt eines TreeView-Controls als XML-Datei speichern. Lange Rede kurz Sinn, los geht's... Beispiel für eine XML-Datei (nodes.xml): <Nodes> <Programmiersprachen> <Scriptsprachen> <PHP /> <JSP /> <JavaScript /> </Scriptsprachen> <OOP> <VB.NET /> <CSharp.NET /> <JAVA /> </OOP> </Programmiersprachen> <wwwSeiten> <vbarchiv.net /> <google.de /> </wwwSeiten> </Nodes> Der Inhalt der XML-Datei soll jetzt in einem TreeView-Control angezeigt werden. Hierzu bedienen wir uns der Systems.XML-Klasse, mit der sich eine XML-Datei sehr einfach auslesen lässt. Gleichzeitig möchten wir aber auch, dass der Inhalt des TreeView-Controls wieder als XML-Datei abgespeichert werden kann. Auch hierfür verwenden wir wieder die Systems.XML-Klasse. Fügen Sie Ihrem Projekt ein neues Klassenmodul mit nachfolgendem Code hinzu: Option Strict On Option Explicit On Imports System.Xml Public Class XmlTreeView ' XML-Datei auslesen und die entsprechenden ' Nodes-Objekte im TreeView-Control erstellen Public Shared Sub LoadFromXml(ByVal FileName As String, ByVal TheTreeView As TreeView) Dim xDoc As New XmlDocument xDoc.Load(FileName) FillTreeView(TheTreeView.Nodes, xDoc.DocumentElement) End Sub Private Shared Sub FillTreeView(ByVal CurrentNodes As TreeNodeCollection, _ ByVal xNode As XmlNode) For Each xChild As XmlNode In xNode.ChildNodes FillTreeView(CurrentNodes.Add(xChild.Name).Nodes, xChild) Next End Sub ' TreeView-Inhalt (Nodes-Objekte) als XML-Datei speichern Public Shared Sub SaveToXml(ByVal FileName As String, ByVal TheTreeView As TreeView) Dim xDoc As New XmlDocument xDoc.LoadXml("<Nodes></Nodes>") SaveNodes(xDoc.DocumentElement, TheTreeView.Nodes) xDoc.Save(FileName) End Sub Private Shared Sub SaveNodes(ByVal xNode As XmlNode, ByVal CurrentNodes As TreeNodeCollection) For Each tn As TreeNode In CurrentNodes Debug.WriteLine(tn.Text) SaveNodes(xNode.AppendChild(xNode.OwnerDocument.CreateElement(tn.Text)), tn.Nodes) Next End Sub End Class Hinweis:Ggf. muss zusätzlich noch ein Verweis auf das System.Xml.dll Assembly gesetzt werden. Beispiel für den Aufruf der XMLTreeView-Klasse: ' XML-Datei im TreeView anzeigen Me.TreeView1.Nodes.Clear() XmlTreeView.LoadFromXml("Nodes.xml", Me.TreeView1) ' TreeView-Inhalt als XML-Datei speichern XmlTreeView.SaveToXml("Nodes2.xml", Me.TreeView1) Dieser Tipp wurde bereits 23.970 mal aufgerufen. Voriger Tipp | Zufälliger Tipp | Nächster Tipp
Anzeige
Diesen und auch alle anderen Tipps & Tricks finden Sie auch auf unserer aktuellen vb@rchiv Vol.6 (einschl. Beispielprojekt!) Ein absolutes Muss - Geballtes Wissen aus mehr als 8 Jahren vb@rchiv! - nahezu alle Tipps & Tricks und Workshops mit Beispielprojekten - Symbol-Galerie mit mehr als 3.200 Icons im modernen Look Weitere Infos - 4 Entwickler-Vollversionen (u.a. sevFTP für .NET), Online-Update-Funktion u.v.m. |
sevWizard für VB5/6 Professionelle Assistenten im Handumdrehen Erstellen Sie eigene Assistenten (Wizards) im Look & Feel von Windows 2000/XP - mit allem Komfort und zwar in Windeseile :-) Tipp des Monats März 2024 Dieter Otter UTF-8 Konvertierung von Dateien und Strings VB6 selbst verfügt über keine Funktionen zur UTF-8 Konvertierung von Daten. Mit Hilfe des ADODB.Stream-Objekts lassen sich diese fehlenden Funktionen aber schnell nachrüsten. Access-Tools Vol.1 Über 400 MByte Inhalt Mehr als 250 Access-Beispiele, 25 Add-Ins und ActiveX-Komponenten, 16 VB-Projekt inkl. Source, mehr als 320 Tipps & Tricks für Access und VB |
||||||||||||||||
Microsoft, Windows und Visual Basic sind entweder eingetragene Marken oder Marken der Microsoft Corporation in den USA und/oder anderen Ländern. Weitere auf dieser Homepage aufgeführten Produkt- und Firmennamen können geschützte Marken ihrer jeweiligen Inhaber sein. |