2010-12-14 97 views
-1

J'essaie d'extraire des données de l'URL à l'aide de Httpwebrequest/response, j'obtiens une réponse Je montre dans un msgbox. Il montre tout le contenu HTML. Maintenant, je veux récupérer une valeur de balise spécifique (TD) et afficher toute sa valeur dans une zone de liste déroulante dans l'application de bureau vb.net.comment analyser le contenu html renvoyé en tant que réponse d'un serveur Web et afficher une valeur de balise spécifique dans une zone de liste déroulante dans vb.net

mon code pour obtenir une réponse de serveur web est:

enter code here 

Imports System.IO

Imports System.Net

Imports System.Xml

Importations System.Text.Encoder

Connexion au cours public

Private Sub login_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load 


End Sub 

Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click 
    End 
End Sub 

Private Sub Panel1_Paint(ByVal sender As System.Object, ByVal e As System.Windows.Forms.PaintEventArgs) Handles Panel1.Paint 

End Sub 

Private Sub Ok_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Ok.Click 
    Dim strId As String = txt_uid.Text 
    Dim strPwd As String = txt_pwd.Text 
    Dim oEncoder As New System.Text.ASCIIEncoding 
    Dim postData As String = "UM_username=" + strId 
    postData += ("&UM_password=" + strPwd) 


    Dim data As Byte() = oEncoder.GetBytes(postData) 
    MsgBox(postData) 




    Dim webStream As Stream 

    Dim webResponse As String = "" 

    Dim req As HttpWebRequest 

    Dim res As HttpWebResponse 
    Dim Output As String 
    'Dim Posit1 As Int32 
    'Dim Posit2 As Int32 

    req = WebRequest.Create("http://localhost/basic_framework/index.php?menu=login&UM_email=" & strId & "&UM_password=" & strPwd) 

req.ContentType = "application/x-www-form-urlencoded" req.KeepAlive = False req.Method = "POST" res = req.GetResponse()

webStream = res.GetResponseStream() 

    Dim webStreamReader As New StreamReader(webStream) 
    While webStreamReader.Peek >= 0 
     Output = webStreamReader.ReadToEnd() 
     RichTextBox1.Text = Output 

Msgbox (sortie)

End While 







End Sub 

End Class

ce code obtenir la réponse de l'URL et le montrer dans un richtextbox ou msgbox Maintenant, je veux obtenir une valeur de balise spécifique (disons, td, valeurs d'option) et l'afficher dans une zone de liste déroulante dans mon formulaire d'application vb.net dynamiquement.Il serait nécessaire pour analyser le contenu html puis obtenir cette valeur de balise. S'il vous plaît me suggérer un moyen ...... Si l'analyse nécessaire, comment analyser le contenu html pour obtenir uniquement la valeur de balise spécifique dans une zone de liste déroulante dans vb.net formulaire

Répondre

0

Eh bien ... si vous pouvez être sûr que votre requête renvoie XHTML valide (qui est en fait XML), vous pourriez être en mesure d'utiliser une expression XPath.

+0

merci Frank, je suis un newbiew à. Net, puis-je savoir comment je sais que la réponse que je reçois est XHTML OU XML – mH16

+0

j'ai une condition dans laquelle mon serveur web a script PHP et sur une page particulière un select tag sera là qui montre quelques valeurs dans combobox (option), je veux FETCH ces valeurs de SELECT TAG du serveur web Pour mon formulaire d'application Windows combobox directement dans vb.net – mH16

+0

En simples mots simples, supposons qu'une page dans le site web ait une étiquette de sélection et en option, elle diffuse le nom du pays. Donc, si je veux montrer le nom de ce pays dans mon combobox de l'application de bureau via un lien URL. Comment cela sera possible. S'il vous plaît me suggérer un moyen ou une application de bureau qui font la même chose .. – mH16

0

Pour les cas les plus complexes (par exemple, un site Web AJAX, etc.), vous pouvez utiliser la bibliothèque HTMLUnit avec iKVM.