使用htmlagilitipack解析HTML表

时间:2016-07-18 07:05:20

标签: vb.net html-agility-pack

我尝试使用以下代码在网页中获取表格,问题始终是返回第一条记录。 哪里可以解决问题以及如何解决问题?

    Dim web As New HtmlAgilityPack.HtmlWeb
    Dim doc As HtmlAgilityPack.HtmlDocument = web.Load("http://colodchaco.org.ar/paginas/aranceles.php?cod_os=1")
    Dim tables As HtmlAgilityPack.HtmlNodeCollection = doc.DocumentNode.SelectNodes("//table")

    ' Iterate all rows in the first table
    Dim rows As HtmlAgilityPack.HtmlNodeCollection = tables(0).SelectNodes("//tr")
    'Console.WriteLine(tables(0).InnerHtml)

    Console.WriteLine("filas: " & rows.Count)

    For Each Row As HtmlAgilityPack.HtmlNode In rows
        Console.WriteLine(Trim(Row.SelectNodes("//td").Item(0).InnerText))
        Console.WriteLine(Trim(Row.SelectNodes("//td").Item(1).InnerText))
        Console.WriteLine(Trim(Row.SelectNodes("//td").Item(2).InnerText))
        Console.WriteLine(Trim(Row.SelectNodes("//td").Item(3).InnerText))
        Console.WriteLine(Trim(Row.SelectNodes("//td").Item(4).InnerText))
    Next

输出

01.01.00
Examen  - Diagn?stico y Plan de Tratamiento.
-
-
$120.00
01.01.00
Examen  - Diagn?stico y Plan de Tratamiento.
-
-
$120.00
01.01.00
Examen  - Diagn?stico y Plan de Tratamiento.
-
-
$120.00
01.01.00
Examen  - Diagn?stico y Plan de Tratamiento.
-
-
$120.00
01.01.00
Examen  - Diagn?stico y Plan de Tratamiento.
-
-
$120.00

问候

1 个答案:

答案 0 :(得分:0)

朋友,它在以下工作

....
Dim rows As HtmlAgilityPack.HtmlNodeCollection = tables(0).SelectNodes("./tr")

Console.WriteLine("filas: " & rows.Count

For Each Row As HtmlAgilityPack.HtmlNode In rows
    Console.WriteLine(Trim(Row.SelectNodes("./td").Item(0).InnerText))
    ....
Next

谢谢你的回答!!