Hallo zusammen,
ich möchte eine Datei auslesen (gleicht .xml) und diese in TextBoxen auflisten lassen.
In dieser Datei habe ich z.b. 20 Zeilen und in Zeile 3, 7, 14 & 16 habe ich etwas in/zwischen value" xxxx " stehen.
Ich möchte aber diese ‚value‘ auslesen (also das ‚xxx‘) und jede einzelne in einer anderen Textbox anzeigen lassen, damit man diese speziefisch bearbeiten kann und dann auch speichern.
Jetzt die Frage,- Wie zum Teufel stelle ich das an?
Mit folgendem Code, kann ich die ganze Datei auslesen:
Private Sub Button2_Click(sender As Object, e As EventArgs) Handles Button2.Click Dim Reader As New StreamReader(„FILE PATH WHICH I WANT TO EDIT“) TextBox1.Text = Reader.ReadToEnd Reader.Close() End Sub Private Sub Button3_Click(sender As Object, e As EventArgs) Handles Button3.Click Dim Writer As New StreamWriter(„FILE PATH WHICH I WANT TO EDIT“) Writer.Write(TextBox1.Text) Writer.Close() End Sub
Mit kurzer umformung bekommt man auch nur Zeilen angezeigt, aber ich schaffe es nicht, wie oben beschrieben.
Ich hoffe hier kann mir jemand helfen!
Gruß Patrick.
(Btw. ich nutze Visual Studio Express 2013!)
Hallo,
das rausziehen geht mit sowas reg expressions
würde dann so aussehen
/value="(.*)"/
z.b. hallo meine werte value=„irgendwas“ gibt es hier
mit klammern wäre dann nur alles in den anführungszeichen
irgendwas
ohne klammer dann so wie im pattern also
value=„irgendwas“
genutzt wird die Funktion z.b. so
Dim wert String
Dim strValue String
Dim strPattern String
strValue = "Hier mal value=\"sowieso\" , und dann noch value=\"anders\" "
strPattern = "/value=\"(.\*)\"/"
wert = matchMe(strValue,strPattern)
' wert sollte dann "sowieso & chr(10) & anders" haben .
Function matchMe(strValue,strPattern)
Dim objRegEx As Object
Dim objPosition As Object
Dim strPosition As String
Dim s As String
' Erzeuge eine regular expression.
Set objRegEx = CreateObject("VBScript.RegExp")
objRegEx.Pattern = strPattern
objRegEx.IgnoreCase = blnCase
objRegEx.Global = True
'True findet alle Vorhandenen,
'False trifft nur das erste Vorhanden sein
' Anfangen zu suchen.
s = ""
If objRegEx.Test(strValue) Then
Set getroffen = objRegEx.Execute(strValue)
For Each Treffer In getroffen
s = s & " " & Treffer.Value & " "
s = s & Chr(10)
Next
matchMe = s
Else
' nichts gefunden
matchMe = ""
End If
End Function