Das ist mei Code:
Imports System.Xml
Public Class Form1
Dim xdok As New XmlDocument
Dim dateilang As String
Private Sub btnladen_Click(ByVal sender As Object, ByVal e As _
System.EventArgs) Handles btnladen.Click
If Me.dlgXmlöffnen.ShowDialog = Windows.Forms.DialogResult.OK Then
dateilang = dlgXmlöffnen.FileName
Else
Exit Sub
End If
xmldokladen()
End Sub
Private Sub Form1_DragEnter(ByVal sender As Object, ByVal e As _
System.Windows.Forms.DragEventArgs) Handles MyBase.DragEnter
Dim dateien() As String = CType(e.Data.GetData(DataFormats.FileDrop), _
String())
If dateien.GetUpperBound(0) = 0 Then
dateilang = dateien(0).ToString
End If
xmldokladen()
End Sub
Sub xmldokladen()
'Entfernt evtl. vorhandene Knoten aus XML-Dokument
xdok.RemoveAll()
Try
xdok.Load(dateilang)
Catch ausnahmekeinxml As XmlException
MessageBox.Show("XML-Exception:" & vbCrLf & "Keine XMLDatei")
Catch aus As Exception
MessageBox.Show("Andere Fehler" & vbCrLf & vbCrLf & aus.Message)
End Try
Text = "Knoteninfo " & My.Computer.FileSystem.GetName(dateilang)
tvwfüllen()
tvw.select()
End Sub
Dim tvwausgewählt As String
Dim tvwkey As Integer
Sub tvwfüllen()
txtAusgabe.Text = ""
tvw.BeginUpdate()
tvw.Nodes.Clear()
Dim xknotenliste As XmlNodeList = xdok.SelectNodes("*")
Dim tknoten As TreeNode = tvw.Nodes.Add("")
tvwkey = 0
tknoten.Name = tvwkey.ToString("00")
For Each xn As XmlNode In xknotenliste
ebenelesen(xn, tknoten)
Next
tvw.EndUpdate()
tvw.Select()
End Sub
Sub ebenelesen(ByVal xmlknoten As XmlNode, ByVal treeknoten As TreeNode)
tvwkey += 1
If xmlknoten.Attributes.Count > 0 Then
treeknoten.Text = xmlknoten.Attributes("Name").Name
Else
treeknoten.Text = xmlknoten.Name
End If
Dim tn As TreeNode
Dim xn As XmlNode
For Each xn In xmlknoten.ChildNodes
If xn.HasChildNodes Then
tn = treeknoten.Nodes.Add(tvwkey.ToString("00"), xn.Name)
ebenelesen(xn, tn)
End If
Next
End Sub
Private Sub Darstellung(ByVal sender As Object, ByVal e As _
System.EventArgs) Handles _
rbOuterXML.Click, rbInnerText.Click, rbInnerXML.Click, rbAttributes.Click, _
rbTreeView.Click
'Textfeld löschen
txtAusgabe.Text = ""
tvwfüllen()
If tvwausgewählt = "" Then
If txtsuch.Text <> "" Then
tvwausgewählt = Me.txtsuch.Text
Else
tvwausgewählt = tvw.Nodes(0).Name
End If
End If
Try
tvw.SelectedNode = tvw.Nodes.Find(tvwausgewählt, True)(0)
Catch ex As Exception
MessageBox.Show("Treeknoten nicht gefunden")
End Try
End Sub
#End Region
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As _
System.EventArgs) Handles MyBase.Load
xdok.PreserveWhitespace = True
End Sub
Private Sub tvw_AfterSelect(ByVal sender As Object, ByVal e As _
System.Windows.Forms.TreeViewEventArgs) Handles tvw.AfterSelect
Me.txtAusgabe.Text = e.Node.Tag
tvwausgewählt = txtsuch.Text
Me.txtsuch.Text = e.Node.Name
Me.txtxpath.Text = Replace(e.Node.FullPath, "\", "/")
End Sub
End Class |