обрабатывать данные веб-клиентов с помощью xquery - PullRequest
1 голос
/ 16 ноября 2011

Я извлекаю html из междоменной веб-страницы, используя asp.net vb

    Dim objWebClient As New WebClient()
    objWebClient.UseDefaultCredentials = True
    objWebClient.Headers.Add(HttpRequestHeader.UserAgent, "XPlorer")


    'STEP 2: Call the DownloadedData method
    Const strURL As String = "http://www.example.com"
    Dim aRequestedHTML() As Byte

    aRequestedHTML = objWebClient.DownloadData(strURL)

    'STEP 3: Convert the Byte array into a String
    Dim objUTF8 As New UTF8Encoding()
    Dim strRequestedHTML As String
    strRequestedHTML = objUTF8.GetString(aRequestedHTML)

Кроме того, я хочу показать только часть этого в буквальном элементе управления.В качестве примера я хочу показать только таблицу с классом «результат».

Как мне обработать это дальше в XML и XQuery в VB.NET?Как мне объявить strRequestedHTML как XML и как мне сделать xquery в нем?

thx заранее ...

1 Ответ

0 голосов
/ 17 ноября 2011

Если вы говорите о веб-странице (html), было бы лучше проанализировать ее как HTML, а не XML. Html Agility Pack - хороший HTML-анализатор с открытым исходным кодом для .NET

Вы также можете использовать Html Agility Pack для загрузки веб-страницы.

Что-то вроде:

Dim htmlWeb As HtmlAgilityPack.HtmlWeb = New HtmlWeb()
Dim htmlDocument As HtmlAgilityPack.HtmlDocument = htmlWeb.Load("http://www.google.com")
Dim htmlNode As HtmlAgilityPack.HtmlNode = htmlDocument.DocumentNode.SelectSingleNode("//table[@class='result']")
Response.Write(htmlNode)
...