Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load Dim XMLReadWrite As New List(Of XmlTreeView) ' XML-Datei im TreeView anzeigen Me.TreeView1.Nodes.Clear() Me.TreeView2.Nodes.Clear() XmlTreeView.LoadFromXml("C:\Users\Anwender\Documents\Visual Studio 2015\Projects\XMLReaderErowaPL\Beispiele\1DY72390_BTB71634_MNA.xml", Me.TreeView1)
' TreeView-Inhalt als XML-Datei speichern XmlTreeView.SaveToXml("C:\Users\Anwender\Documents\Visual Studio 2015\Projects\XMLReaderErowaPL\Beispiele\test2.xml", Me.TreeView1)
End Sub
Private Sub TreeView1_AfterSelect(sender As Object, e As TreeViewEventArgs) Handles TreeView1.AfterSelect
End Sub Private Sub TreeView2_AfterSelect(sender As Object, e As TreeViewEventArgs) Handles TreeView2.AfterSelect
End Sub Private Sub TreeView1_NodeMouseDoubleClick(ByVal sender As Object, ByVal e As TreeNodeMouseClickEventArgs) Handles TreeView1.NodeMouseDoubleClick Dim path = TryCast(TreeView1.SelectedNode, MyTreeNode)?.Path If path IsNot Nothing Then Process.Start(path) End Sub
End Class
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 If xChild.Name <> "BZ" Then FillTreeView(CurrentNodes.Add(xChild.Name).Nodes, xChild) '#### Daten auslesen.... !!!!!! Else ' CurrentNodes.Add(xChild.InnerText) 'CurrentNodes.Add(New MyTreeNode With {.Text = xChild.InnerText, .Path = xChild.Attributes("Path")?.Value}) CurrentNodes.Add(xChild.InnerText) End If
Next 'comboBox1.Items.Add(nodeVorname.InnerText + " " + nodeNachname.InnerText + "\n");
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
Public Class MyTreeNode Inherits TreeNode Public Property Path As String End Class