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 24.008 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. |
Neu! sevCommand 4.0 Professionelle Schaltflächen im modernen Design! Mit nur wenigen Mausklicks statten auch Sie Ihre Anwendungen ab sofort mit grafischen Schaltflächen im modernen Look & Feel aus (WinXP, Office, Vista oder auch Windows 8), inkl. große Symbolbibliothek. Tipp des Monats April 2024 Skyfloy Chart von Microsoft und dazu noch gratis Tutorial für Microsoft Chart Controls für Microsoft .NET Framework 3.5 TOP Entwickler-Paket TOP-Preis!! Mit der Developer CD erhalten Sie insgesamt 24 Entwickler- komponenten und Windows-DLLs. Die Einzelkomponenten haben einen Gesamtwert von 1605.50 EUR... |
||||||||||||||||
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. |