Ich würde so oder so die RegEx Variante bevorzugen.
Hier ein Muster für dich.
Mehrere Treffer finden und in der TextBox ausgeben
Code:
Dim RegEx_Treffer As New Regex("<waypoint>X=(?<X>(.*)) Y=(?<Y>(.*)) Z=(?<Z>(.*))</waypoint>")
Dim Treffergruppe As MatchCollection
Dim Treffer As Match
Dim ListBox As New ListBox
Dim Zahl As Integer
Try
Treffergruppe = RegEx_Treffer.Matches(RichTextBox1.Text)
For Each Treffer In Treffergruppe
ListBox.Items.Add(Treffer.Groups("X").Value & " " & Treffer.Groups("Y").Value & " " & Treffer.Groups("Z").Value)
Next
For Zahl = 0 To ListBox.Items.Count
TextBox1.Text &= ListBox.Items(Zahl) & vbCrLf
Next
Catch ex As Exception
End Try
Das musst du natürlich deinen Bedürfnissen etwas anpassen.
Edit:
Das Teil mit ListBox brauchst gar nicht, das habe ich nur zum testen für mich eingebaut.
So sollte es dann aussehen.
Code:
Dim RegEx_Treffer As New Regex("<waypoint>X=(?<X>(.*)) Y=(?<Y>(.*)) Z=(?<Z>(.*))</waypoint>")
Dim Treffergruppe As MatchCollection
Dim Treffer As Match
Try
Treffergruppe = RegEx_Treffer.Matches(RichTextBox1.Text)
For Each Treffer In Treffergruppe
'ERGEBNIS
TextBox1.Text &= Treffer.Groups("X").Value & " " & Treffer.Groups("Y").Value & " " & Treffer.Groups("Z").Value & vbNewLine
'ODER
MsgBox(Treffer.Groups("X").Value & " " & Treffer.Groups("Y").Value & " " & Treffer.Groups("Z").Value & vbNewLine)
Next
Catch ex As Exception
End Try