Lesen Schlüssel / Wert-Paare in HttpWebResponse
Frage
Ich möchte eine Zeichenfolge lesen, dass sieht genauso aus wie folgt aus:
VPSProtocol=2.22
Status=OK
StatusDetail=0000 : The Authorisation was Successful.
VPSTxId={BBF09A43-913E-14E3-B41B-E5464B6FF8A9}
SecurityKey=EH8VFZUSH9
TxAuthNo=4979698
AVSCV2=SECURITY CODE MATCH ONLY
AddressResult=NOTMATCHED
PostCodeResult=NOTMATCHED
CV2Result=MATCHED
CAVV=AAABARR5kwAAAAAAAAAAAAAAAAA=
3DSecureStatus=OK
... in ein Wörterbuch bevorzugt. Ich habe auf der vbcrlf versucht Splitting (es gibt eine auf jeder Zeile kann ich Ihnen versichern) und auf die ‚=‘, kann aber nicht ganz bekommen es richtig oft zu verhalten Fehler immer außerhalb der Grenzen. Jeder bekam einige fantastische Ideen, wie dieses Problem zu lösen?
Hilfe, wie immer, sehr geschätzt.
Lösung
könnten Sie ein String :
Dim dic = New Dictionary(Of String, String)
Using reader = New StringReader(someString)
Dim line As String = reader.ReadLine()
While line <> Nothing
Dim tokens = line.Split("=")
If tokens.Length < 2 Then
Continue While
End If
dic.Add(tokens(0), tokens(1))
line = reader.ReadLine()
End While
End Using
Andere Tipps
Ich löste dies mit diesem ziemlich bösen Stück Code;
Dim dictionary As New Dictionary(Of String, String)
Dim x As String = "x?" & Replace(tmp.ToString(), vbCrLf, "&")
Dim arr As String() = x.Split("?".ToCharArray())
If arr.Length >= 2 Then
Dim arr2 As String() = arr(1).Split("&".ToCharArray())
For Each item As String In arr2
Dim arr3 As String() = item.Split("=".ToCharArray())
dictionary.Add(arr3(0), arr3(1))
Next
End If
Ich hoffe, dass es jemanden da draußen hilft und wenn jemand Verbesserungen vorschlagen kann, bitte tun:)
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow