2016-05-11 4 views
0

ich diesen Code verwendet, der ausgeführt wird:Ziehen Informationen aus XML in VB.net

Using client As New Net.WebClient 
    Dim reqparm As New Specialized.NameValueCollection 
    reqparm.Add("username", "username") 
    reqparm.Add("password", "password") 
    Dim responsebytes = client.UploadValues("www.example.com", "POST", reqparm) 
    Dim responsebody = (New Text.UTF8Encoding).GetString(responsebytes) 
End Using 

Es gibt diese xml:

<params> 
<status>...</status> 
<error>...</error> 
<version>...</version> 
<sessionid>...</sessionid> 
<sessiontimeout>...</sessiontimeout> 
<staffid>...</staffid> 
<uniqueid>...</uniqueid> 
<option name="...">...</option> 
<permission name="...">...</permission> 
<variable name="...">...</variable> 
</params> 

Ich suche die Session-ID und speichern greifen es in einer Variablen. Wie würde ich es aus dem XML ziehen?

+0

Haben Sie schon etwas versucht? Hast du etwas Code? – ib11

+1

Es gibt so viele Antworten darauf, wie es Programmierer auf der Welt gibt. –

Antwort

0

Es gibt eine Menge Möglichkeiten, XML in .NET zu lesen, hier ist eine Option.

Private Function GetSessionId(text As String) As String 
    Using StringReader As New StringReader(text) 
     Using XmlReader As XmlReader = XmlReader.Create(StringReader) 
      If XmlReader.ReadToFollowing("sessionid") Then 
       Return XmlReader.ReadElementContentAsString() 
      End If 
     End Using 
    End Using 

    Return String.Empty 
End Function 

Die Verwendung wie folgt aussehen würde ..

Dim SessionId As String = GetSessionId(responsebody) 
0

Es gibt ein paar Möglichkeiten, eine sehr einfache Art und Weise für das, was Sie auf der Suche konnte ein XElement-Objekt zu tun tun werden:

VB.NET

Dim xmlTree As XElement = <params> 
<status>...</status> 
<error>...</error> 
<version>...</version> 
<sessionid>...</sessionid> 
<sessiontimeout>...</sessiontimeout> 
<staffid>...</staffid> 
<uniqueid>...</uniqueid> 
<option name="...">...</option> 
<permission name="...">...</permission> 
<variable name="...">...</variable> 
</params> 

Dann können Sie die Felder wie so Zugang:

Dim result = xmlTree.<status>.Value 
Verwandte Themen