Ergebnis 1 bis 6 von 6

Hybrid-Darstellung

  1. #1
    Sobig Wurm Avatar von Bl1zz4rD
    Registriert seit
    28.10.2008
    Beiträge
    226

    Standard

    Funktioniert super, danke :>

    /e: Ok ein etwas anderes kleines Problem:
    "Es sind mehrere Stammelemente vorhanden. Zeile 2, Position 2."
    Also die .xml Datei:
    <waypoint>X=2410 Y=200 Z=21</waypoint>
    <waypoint>X=1000 Y=000 Z=10</waypoint>

    Also bislang sieht das ganze so aus:
    Code:
            Dim aDoc = New XmlDocument()
            aDoc.Load("C:\test.xml")
            Dim sInhalt As String = aDoc.GetElementsByTagName("waypoint")(0).InnerText
            Dim x As String
            Dim y As String
            Dim z As String
    
            x = Split(Split(sInhalt, "X=")(1), " ")(0)
            y = Split(Split(sInhalt, "Y=")(1), " ")(0)
            z = Split(sInhalt, "Z=")(1)
            MsgBox(x & vbNewLine & y & vbNewLine & z)
    Geändert von AlterHacker (21.12.2010 um 20:12 Uhr) Grund: FQ entfernt

    640 Kilobyte RAM sind genug für jeden. (Bill Gates, 1981)

    BM-Profil
    0 | 0 | 6


  2. #2
    Sobig Wurm Avatar von BlackHook
    Registriert seit
    13.03.2009
    Beiträge
    219

    Standard

    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
    Geändert von BlackHook (21.12.2010 um 18:14 Uhr)

  3. Folgende Benutzer haben sich für diesen Beitrag bedankt:

    Bl1zz4rD (21.12.2010)

Stichworte

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •